From: Samir Benmendil Date: Fri, 27 Dec 2013 18:57:39 +0000 (+0100) Subject: use darken instead of ponyhoof X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/e11b88c322452a8053a1a3f1af29fdd6199904e4 use darken instead of ponyhoof --- diff --git a/dwb/greasemonkey/darken.user.js b/dwb/greasemonkey/darken.user.js new file mode 100644 index 0000000..79bdbbc --- /dev/null +++ b/dwb/greasemonkey/darken.user.js @@ -0,0 +1,35 @@ +// Darken +// version 0.1 +// Gina Trapani +// 2007-05-10 +// Released to the public domain. +// +// ==UserScript== +// @name Darken +// @description Turns a web pages' background Grey and text White for readability. +// @include * +// @exclude https://plus.google.com/hangouts/* +// @exclude https://www.humblebundle.com/* +// @exclude https?://steamcommunity.com/* +// @exclude https?://imgur.com/* +// ==/UserScript== +// +// ==RevisionHistory== +// Version 0.1: +// Released: 2007-05-10. +// Initial release. +// ==/RevisionHistory== + +(function(){ + var newSS; + var styles=':not(img) { background-color: #201F1F ! important; color: #D4D2CF ! important; } :link, :link * { color: #719696 !important; } :visited, :visited * { color: #666665 !important; } .tagContainer { display: none }'; + if(document.createStyleSheet) { + document.createStyleSheet("javascript:'"+styles+"'"); + } else { + newSS=document.createElement('link'); + newSS.rel='stylesheet'; + newSS.href='data:text/css,'+escape(styles); + document.getElementsByTagName("head")[0].appendChild(newSS); + } +})(); +//.user.js diff --git a/dwb/greasemonkey/ponyhoof.user.js b/dwb/greasemonkey/ponyhoof.user.js deleted file mode 100644 index caceb83..0000000 --- a/dwb/greasemonkey/ponyhoof.user.js +++ /dev/null @@ -1,11062 +0,0 @@ -// ==UserScript== -// @name Ponyhoof -// @namespace http://www.facebook.com/ponyhoof -// @run-at document-start -// @version 1.711 -// @installURL https://hoof.little.my/files/ponyhoof.user.js -// @updateURL https://hoof.little.my/files/ponyhoof.meta.js -// @icon https://hoof.little.my/files/app32.png -// @icon64 https://hoof.little.my/files/icon64.png -// @description Ponify Facebook and make it 20% cooler! -// @author The Ponyhoof Team http://ponyhoof.little.my -// @developer Ng Yik Phang -// @contributor James -// @contributor http://ponyhoof.little.my/credits -// @homepage http://ponyhoof.little.my -// @supportURL https://www.facebook.com/Ponyhoof -// @contributionURL http://ponyhoof.little.my/donate -// @include http://*.facebook.com/* -// @include https://*.facebook.com/* -// @include http://*.little.my/* -// @include https://*.little.my/* -// @match http://*.facebook.com/* -// @match https://*.facebook.com/* -// @match http://*.little.my/* -// @match https://*.little.my/* -// @exclude http://*.facebook.com/ai.php* -// @exclude http://*.facebook.com/l.php* -// @exclude http://*.facebook.com/ajax/* -// @exclude http://*.channel.facebook.com/* -// @exclude http://static.*.facebook.com/* -// @exclude http://graph.facebook.com/* -// @exclude http://0.facebook.com/* -// @exclude https://*.facebook.com/ai.php* -// @exclude https://*.facebook.com/l.php* -// @exclude https://*.facebook.com/ajax/* -// @exclude https://*.channel.facebook.com/* -// @exclude https://s-static.*.facebook.com/* -// @exclude https://graph.facebook.com/* -// @exclude https://0.facebook.com/* -// @exclude https://paste.little.my/* -// ==/UserScript== - -/******************************************************************************* - * Please visit http://jointheherd.lttle.my for the official install! - *******************************************************************************/ - - -(function() { - if (typeof WScript !== 'undefined' && typeof window === 'undefined') { - WScript.echo("Ponyhoof is not run by double-clicking a file in Windows.\n\nPlease visit http://jointheherd.little.my for proper installation."); - WScript.quit(1); - } - - if (window.location.hostname.indexOf('facebook.com') == -1 && window.location.hostname.indexOf('little.my') == -1) { - return; - } - - /** - * Hoof Framework - * - * @author ngyikp (http://www.facebook.com/ngyikp) - */ -var d = document, w = window; -var ELEMENT_NODE = 1; -var TEXT_NODE = 3; - -var SIG = '[Hoof Framework]'; -var FRIENDLYNAME = 'Hoof Framework'; -var CANLOG = true; - -var userSettings = {}; - -var USERAGENT = w.navigator.userAgent.toLowerCase(); -var ISOPERABLINK = /OPR\//.test(w.navigator.userAgent); -var ISOPERA = !ISOPERABLINK && (typeof opera !== 'undefined' || /opera/.test(USERAGENT)); -var ISMAXTHON = /maxthon/i.test(USERAGENT); -var ISMSIE = !ISMAXTHON && !ISOPERA && typeof opera === 'undefined' && /trident/.test(USERAGENT); -var ISMOBILE = /iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(USERAGENT); -var ISCHROME = !ISMAXTHON && !ISOPERABLINK && /chrome/i.test(USERAGENT) && typeof chrome !== 'undefined' && typeof chrome.webstore !== 'undefined' && typeof chrome.webstore.install !== 'undefined' && chrome.webstore.install; -var ISFIREFOX = /firefox/i.test(USERAGENT); -var ISSAFARI = !ISOPERABLINK && !ISCHROME && !/chrome/i.test(USERAGENT) && /safari/i.test(USERAGENT); -var ISAVANT = /avant/i.test(USERAGENT); - -// R.I.P. unsafeWindow in Chrome 27+ http://crbug.com/222652 -if (typeof unsafeWindow == 'undefined') { - var USW = w; -} else { - var USW = unsafeWindow; -} - -function log(msg) { - if (CANLOG) { - if (typeof console !== 'undefined' && console.log) { - console.log(SIG + ' ' + msg); - } - } -} - -function dir(msg) { - if (CANLOG) { - if (typeof console !== 'undefined' && console.log && console.dir) { - console.log(SIG); - console.dir(msg); - } - } -} - -function debug(msg) { - if (CANLOG) { - if (typeof console !== 'undefined') { - if (console.debug) { - console.debug(SIG + ' ' + msg); - } else if (console.log) { - console.log(SIG + ' ' + msg); - } - } - } -} - -function info(msg) { - if (CANLOG) { - if (typeof console !== 'undefined') { - if (console.info) { - console.info(SIG + ' ' + msg); - } else if (console.log) { - console.log(SIG + ' ' + msg); - } - } - } -} - -function warn(msg) { - if (CANLOG) { - if (typeof console !== 'undefined') { - if (console.warn) { - console.warn(SIG + ' ' + msg); - } else if (console.log) { - console.log(SIG + ' ' + msg); - } - } - } -} - -function error(msg) { - if (CANLOG) { - if (typeof console !== 'undefined') { - if (console.error) { - console.error(SIG + ' ' + msg); - } else if (console.log) { - console.log(SIG + ' ' + msg); - } - } - } -} - -function trace() { - if (CANLOG) { - if (typeof console !== 'undefined' && console.trace) { - console.trace(); - } - } -} - -function $(id) { - return d.getElementById(id); -} - -function randNum(min, max) { - return min + Math.floor(Math.random() * (max - min + 1)); -} - -function hasClass(ele, c) { - if (!ele) { - return false; - } - if (ele.classList) { - return ele.classList.contains(c); - } - - var regex = new RegExp("(^|\\s)"+c+"(\\s|$)"); - if (ele.className) { // element node - return (ele.className && regex.test(ele.className)); - } else { // string - return (ele && regex.test(ele)); - } -} - -function addClass(ele, c) { - if (ele.classList) { - ele.classList.add(c); - } else if (!hasClass(ele, c)) { - ele.className += ' '+c; - } -} - -function removeClass(ele, c) { - if (ele.classList) { - ele.classList.remove(c); - } else { - ele.className = ele.className.replace(new RegExp('(^|\\s)'+c+'(?:\\s|$)','g'),'$1').replace(/\s+/g,' ').replace(/^\s*|\s*$/g,''); - } -} - -function toggleClass(ele, c) { - if (hasClass(ele, c)) { - removeClass(ele, c); - } else { - ele.className += ' ' + c; - } -} - -function clickLink(el) { - if (!el) { - return false; - } - - var evt = d.createEvent('MouseEvents'); - evt.initMouseEvent('click', true, true, USW, 0, 0, 0, 0, 0, false, false, false, false, 0, null); - el.dispatchEvent(evt); - return true; -} - -function cookie(n) { - try { - return unescape(d.cookie.match('(^|;)?'+n+'=([^;]*)(;|$)')[2]); - } catch (e) { - return null; - } -} - -function injectManualStyle(css, id) { - if ($('ponyhoof_style_'+id)) { - return $('ponyhoof_style_'+id); - } - - var n = d.createElement('style'); - n.type = 'text/css'; - if (id) { - n.id = 'ponyhoof_style_'+id; - } - n.textContent = '/* '+SIG+' */'+css; - - if (d.head) { - d.head.appendChild(n); - } else if (d.body) { - d.body.appendChild(n); - } else { - d.documentElement.appendChild(n); - } - - return n; -} - -function fadeOut(ele, callback) { - addClass(ele, 'ponyhoof_fadeout'); - - w.setTimeout(function() { - ele.style.display = 'none'; - - if (callback) { - callback(ele); - } - }, 250); -} - -function getFbDomain() { - if (w.location.hostname == 'beta.facebook.com') { - return w.location.hostname; - } - return 'www.facebook.com'; -} - -function onPageReady(callback) { - var _loop = function() { - if (/loaded|complete/.test(d.readyState)) { - callback(); - } else { - w.setTimeout(_loop, 100); - } - }; - _loop(); -} - -var loopClassName = function(name, func) { - var l = d.getElementsByClassName(name); - if (l) { - for (var i = 0, len = l.length; i < len; i++) { - func(l[i]); - } - } -}; - -function $$(parent, query, func) { - if (!parent) { - return; - } - var l = parent.querySelectorAll(query); - if (l.length) { - for (var i = 0, len = l.length; i < len; i++) { - func(l[i]); - } - } -} - -// Hacky code adapted from http://www.javascripter.net/faq/browsern.htm -function getBrowserVersion() { - var ua = w.navigator.userAgent; - var fullVersion = ''+parseFloat(w.navigator.appVersion); - var majorVersion = parseInt(w.navigator.appVersion, 10); - var nameOffset, offset, ix; - - if (ua.indexOf('Opera') != -1) { - // In Opera, the true version is after 'Opera' or after 'Version' - offset = ua.indexOf('Opera'); - fullVersion = ua.substring(offset + 6); - - if (ua.indexOf('Version') != -1) { - offset = ua.indexOf('Version'); - fullVersion = ua.substring(offset + 8); - } - } else if (ua.indexOf('OPR/') != -1) { - offset = ua.indexOf('OPR/'); - fullVersion = ua.substring(offset + 4); - } else if (ua.indexOf('MSIE') != -1) { - // In MSIE, the true version is after 'MSIE' in userAgent - offset = ua.indexOf('MSIE'); - fullVersion = ua.substring(offset + 5); - } else if (ua.indexOf('Chrome') != -1) { - // In Chrome, the true version is after 'Chrome' - offset = ua.indexOf('Chrome'); - fullVersion = ua.substring(offset + 7); - } else if (ua.indexOf('Safari') != -1) { - // In Safari, the true version is after 'Safari' or after 'Version' - offset = ua.indexOf('Safari'); - fullVersion = ua.substring(offset + 7); - - if (ua.indexOf('Version') != -1) { - offset = ua.indexOf('Version'); - fullVersion = ua.substring(offset + 8); - } - } else if (ua.indexOf('Firefox') != -1) { - // In Firefox, the true version is after 'Firefox' - offset = ua.indexOf('Firefox'); - fullVersion = ua.substring(offset + 8); - } else { - throw "Unsupported browser"; - } - - if ((ix = fullVersion.indexOf(';')) != -1) { - fullVersion = fullVersion.substring(0, ix); - } - if ((ix = fullVersion.indexOf(' ')) != -1) { - fullVersion = fullVersion.substring(0, ix); - } - - majorVersion = parseInt(''+fullVersion,10); - if (isNaN(majorVersion)) { - fullVersion = ''+parseFloat(w.navigator.appVersion); - majorVersion = parseInt(w.navigator.appVersion,10); - } - - return { - major: majorVersion - ,full: fullVersion - }; -} - -// http://wiki.greasespot.net/Content_Script_Injection -var contentEval = function(source, arg) { - var arg = arg || {}; - if (typeof source === 'function') { - source = '(' + source + ')(' + JSON.stringify(arg) + ');' - } - - var script = d.createElement('script'); - script.textContent = source; - d.documentElement.appendChild(script); - d.documentElement.removeChild(script); -}; - -var supportsRange = function() { - var i = d.createElement('input'); - i.setAttribute('type', 'range'); - return i.type !== 'text'; -}; - -var supportsCssTransition = function() { - var s = d.createElement('div').style; - return ('transition' in s || 'WebkitTransition' in s || 'MozTransition' in s || 'msTransition' in s || 'OTransition' in s); -}; - -// Menu -var MENUS = {}; -var Menu = function(id, p) { - var k = this; - - k.id = id; - MENUS['ponyhoof_menu_'+k.id] = k; - k.menu = null; // outer wrap - k.selectorMenu = null; // .uiMenu.uiSelectorMenu - k.menuInner = null; // .uiMenuInner - k.content = null; // .uiScrollableAreaContent - k.button = null; - k.wrap = null; // ponyhoof_menu_wrap, used to separate button and menu - k._scrollTop = 0; // fix a bug on old safari where menu jumps back to top - - k.menuSearch = null; // .ponyhoof_menu_search - k.menuSearchInput = null; - k.menuSearchNoResults = null; - k.focusStealer = null; - - k.hasScrollableArea = false; - k.scrollableAreaDiv = null; // .uiScrollableArea - k.scrollableArea = null; // FB ScrollableArea class - - k.p = p; - k.afterClose = function() {}; - - k.canSearch = true; - k.alwaysOverflow = false; - k.rightFaced = false; - k.buttonTextClipped = 0; - k.searchNoResultsMessage = "No results"; - - k.createButton = function(startText) { - if (!startText) { - startText = ''; - } - - var buttonText = d.createElement('span'); - buttonText.className = 'uiButtonText'; - buttonText.innerHTML = startText; - - k.button = d.createElement('a'); - k.button.href = '#'; - k.button.className = 'uiButton ponyhoof_button_menu'; - k.button.setAttribute('role', 'button'); - k.button.setAttribute('aria-haspopup', 'true'); - if (k.buttonTextClipped) { - k.button.className += ' ponyhoof_button_clipped'; - buttonText.style.maxWidth = k.buttonTextClipped+'px'; - } - k.button.appendChild(buttonText); - - k.wrap = d.createElement('div'); - k.wrap.className = 'ponyhoof_menu_wrap'; - if (k.rightFaced) { - k.wrap.className += ' uiSelectorRight'; - } - k.wrap.appendChild(k.button); - k.p.appendChild(k.wrap); - - return k.button; - } - - k.createMenu = function() { - if ($('ponyhoof_menu_'+k.id)) { - k.menu = $('ponyhoof_menu_'+k.id); - k.menuInner = k.menu.getElementsByClassName('uiMenuInner')[0]; - return k.menu; - } - - k.injectStyle(); - - k.menu = d.createElement('div'); - k.menu.className = 'ponyhoof_menu uiSelectorMenuWrapper'; - k.menu.id = 'ponyhoof_menu_'+k.id; - k.menu.setAttribute('role', 'menu'); - //k.menu.style.display = 'none'; - k.menu.addEventListener('click', function(e) { - e.stopPropagation(); - return false; - }, false); - k.wrap.appendChild(k.menu); - - k.selectorMenu = d.createElement('div'); - k.selectorMenu.className = 'uiMenu uiSelectorMenu'; - k.menu.appendChild(k.selectorMenu); - - k.menuInner = d.createElement('div'); - k.menuInner.className = 'uiMenuInner'; - k.selectorMenu.appendChild(k.menuInner); - - k.content = d.createElement('div'); - k.content.className = 'uiScrollableAreaContent'; - k.menuInner.appendChild(k.content); - - if (k.canSearch) { - k.menuSearch = d.createElement('div'); - k.menuSearch.className = 'ponyhoof_menu_search'; - k.content.appendChild(k.menuSearch); - - k.menuSearchInput = d.createElement('input'); - k.menuSearchInput.type = 'text'; - k.menuSearchInput.className = 'inputtext'; - k.menuSearchInput.placeholder = "Search"; - k.menuSearch.appendChild(k.menuSearchInput); - - k.menuSearchNoResults = d.createElement('div'); - k.menuSearchNoResults.className = 'ponyhoof_menu_search_noResults'; - k.menuSearchNoResults.textContent = k.searchNoResultsMessage; - k.menuSearch.appendChild(k.menuSearchNoResults); - - k.menuSearchInput.addEventListener('keydown', k.searchEscapeKey, false); - k.menuSearchInput.addEventListener('input', k.performSearch, false); - - k.focusStealer = d.createElement('input'); - k.focusStealer.type = 'text'; - k.focusStealer.setAttribute('aria-hidden', 'true'); - k.focusStealer.style.position = 'absolute'; - k.focusStealer.style.top = '-9999px'; - k.focusStealer.style.left = '-9999px'; - k.focusStealer.addEventListener('focus', k.focusStealerFocused, false); - k.selectorMenu.appendChild(k.focusStealer); - } - - return k.menu; - }; - - k.attachButton = function() { - k.button.addEventListener('click', function(e) { - k.toggle(); - e.stopPropagation(); - e.preventDefault(); - }, false); - }; - - k.changeButtonText = function(text) { - k.button.getElementsByClassName('uiButtonText')[0].innerHTML = text; - k.button.setAttribute('data-ponyhoof-button-orig', text); - k.button.setAttribute('data-ponyhoof-button-text', text); - - if (k.buttonTextClipped) { - k.button.title = text; - } - }; - - k.createSeperator = function() { - var sep = d.createElement('div'); - sep.className = 'uiMenuSeparator'; - k.content.appendChild(sep); - }; - - k.createMenuItem = function(param) { - var menuItem = new MenuItem(k); - menuItem._create(param); - - k.content.appendChild(menuItem.menuItem); - - return menuItem; - }; - - k.injectStyle = function() { - var css = ''; - css += 'html .ponyhoof_dialog .ponyhoof_button_menu, .ponyhoof_menuitem_checked {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADdCAMAAAB63HDyAAAAaVBMVEUAAABnfapKZJtjeahofqtsbGxwhK97jrXb29vc3Nze3d3f3t/g4N/h4ODi4uLk5OPk5eXm5ubn5+fo6Ojq6enr6+rs6+zs7Ozu7u3v7+/w8PDw8fDx8vHz8vPz8/T09PT19PX19vb////xKBXBAAAAAnRSTlMA70YmMtEAAAFWSURBVHja7d05UsNQFETRNjIS8zzPeP+LxK7CmA04UZ8T6aV968fKijr5pk6+qJNP6uSDOnmnTt6ok1fq5IXZO9j6vfPM/A3TxrA980SB5br58u/KIw3GadwdeaDC+O8799TJHXVyS53cUCfX1MkVdXJJnVxQJ+fUyRl1ckqdnFAnx9TJEXVEFx3RER3RER3RER3RER3RER3RER3RER3REV10REd05hMdAAAAANij3V/4qKtuiL7qZuirboS+6iYAAAAAAAAAAAAAAAAAAAAAAAAAAACA/TrYMkWRYdoYDFFlsW6+MEOZcRqN0FfdBAAAAAAAAAAAAAAAAAAAAAAAAABzcWiCvuaiFzYXvaq35o2PXPPC6JpXVjdCX3UTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBnZYK+5qIXNhe9qrfmjY9c88LomldWN0JfdRMAzMcPe9ehQpH/3pgAAAAASUVORK5CYII=") !important;background-repeat:no-repeat;-webkit-background-size:500px 221px;-moz-background-size:500px 221px;background-size:500px 221px;}'; - - css += 'html .ponyhoof_dialog .ponyhoof_button_menu {background-position:right 0;padding-right:23px;}'; - css += 'html .ponyhoof_button_menu:active {background-position:right -98px;}'; - css += 'html .openToggler .ponyhoof_button_menu {background-color:#6D84B4;background-position:right -49px;border-color:#3B5998;border-bottom-color:#6D84B4;box-shadow:none;}'; - css += 'html .openToggler .ponyhoof_button_menu .uiButtonText {color:#fff;}'; - - css += '.ponyhoof_menu_label {padding:7px 4px 0 0;}'; - css += '.ponyhoof_menu_label, .ponyhoof_menu_withlabel .ponyhoof_menu_wrap {display:inline-block;}'; - css += '.ponyhoof_menu_withlabel {margin-bottom:8px;}'; - css += '.ponyhoof_menu_withlabel + .ponyhoof_menu_withlabel {margin-top:-8px;}'; - css += '.ponyhoof_menu_withlabel .ponyhoof_button_menu {margin-top:-3px;}'; - css += '.ponyhoof_menu_labelbreak .ponyhoof_menu_label {display:block;padding-bottom:7px;}'; - - css += '.ponyhoof_menu_wrap {position:relative;}'; - css += 'html .ponyhoof_menu {z-index:1999;display:none;min-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;}'; - css += '.ponyhoof_menu_wrap.openToggler .ponyhoof_menu {display:block;}'; - css += '.ponyhoof_menu_wrap + .uiButton {margin:4px 0 0 4px;}'; - css += '.ponyhoof_menu .uiMenu {background:#fff;border:1px solid #777;border-bottom:2px solid #293E6A;color:#000;position:absolute;overflow:auto;overflow-x:hidden;text-align:left;}'; - css += '.ponyhoof_menu .uiMenu.overflow {resize:vertical;height:200px;min-height:200px;}'; - css += '.ponyhoof_menu_wrap.uiSelectorRight .uiMenu {left:auto;right:0;}'; - css += '.ponyhoof_menu .ponyhoof_menu_search {padding:0 3px;margin-bottom:4px;}'; - css += '.ponyhoof_menu .ponyhoof_menu_search input {width:100%;resize:none;}'; - css += '.ponyhoof_menu .ponyhoof_menu_search_noResults {display:none;color:#999;text-align:center;margin-top:7px;width:100px;}'; - css += '.ponyhoof_menuitem {border:solid #fff;border-width:1px 0;color:#111;display:block;font-weight:normal;line-height:16px;padding:1px 22px;text-decoration:none;outline:none;-webkit-user-drag:none;resize:none;}'; - css += '.ponyhoof_menu .ponyhoof_menuitem {color:#111;}'; - css += '.ponyhoof_menuitem:hover, .ponyhoof_menuitem:active, .ponyhoof_menuitem:focus {background-color:#6d84b4;border-color:#3b5998;color:#fff;text-decoration:none;}'; - css += '.ponyhoof_menuitem_checked {background-position:0 -146px;font-weight:bold;}'; - css += '.ponyhoof_menuitem_checked:hover, .ponyhoof_menuitem_checked:active, .ponyhoof_menuitem_checked:focus {background-position:0 -206px;}'; - css += '.ponyhoof_menuitem_span {white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden;padding-right:16px;max-width:400px;vertical-align:top;}'; - - css += '.ponyhoof_button_clipped > .uiButtonText {text-overflow:ellipsis;overflow:hidden;vertical-align:top;}'; - - if (ISMOBILE) { - css += '.ponyhoof_menu .uiMenu.overflow {resize:none !important;height:auto !important;}'; - } - - injectManualStyle(css, 'menu'); - }; - - k.open = function() { - k.closeAllMenus(); - - addClass(k.wrap, 'openToggler'); - - if (!hasClass(k.menuInner.parentNode, 'overflow') && (k.menuInner.parentNode.offsetHeight >= 224 || k.alwaysOverflow)) { - addClass(k.menuInner.parentNode, 'overflow'); - } - - if (k.canSearch && !ISMOBILE) { - k.menuSearchInput.focus(); - k.menuSearchInput.select(); - } - - // Poke the menu to show the scroll visual cue on Mac OS - if (k._scrollTop) { - k.selectorMenu.scrollTop = 0; - } else { - k.selectorMenu.scrollTop = 1; - } - k.selectorMenu.scrollTop = k._scrollTop; - - d.body.addEventListener('keydown', k.documentEscapeKey, false); - d.body.addEventListener('click', k.documentClick, false); - }; - - k.close = function() { - if (hasClass(k.wrap, 'openToggler')) { - k._scrollTop = k.selectorMenu.scrollTop; - - removeClass(k.wrap, 'openToggler'); - d.body.removeEventListener('keydown', k.documentEscapeKey, false); - d.body.removeEventListener('click', k.documentClick, false); - - k.afterClose(); - } - }; - - k.closeAllMenus = function() { - for (var menu in MENUS) { - if (MENUS.hasOwnProperty(menu)) { - MENUS[menu].close(); - } - } - }; - - k.toggle = function() { - if (hasClass(k.wrap, 'openToggler')) { - k.close(); - } else { - k.open(); - } - }; - - k.changeChecked = function(menuItem) { - var already = k.menu.getElementsByClassName('ponyhoof_menuitem_checked'); - if (already.length) { - removeClass(already[0], 'ponyhoof_menuitem_checked'); - } - addClass(menuItem.menuItem, 'ponyhoof_menuitem_checked'); - }; - - k.performSearch = function() { - var val = k.menuSearchInput.value; - var regex = new RegExp(val, 'i'); - - var count = 0; - $$(k.menu, '.ponyhoof_menuitem', function(menuitem) { - if (val == '') { - menuitem.style.display = ''; - return; - } - - if (!hasClass(menuitem, 'unsearchable')) { - menuitem.style.display = 'none'; - - var compare = menuitem.textContent; - if (menuitem.getAttribute('data-ponyhoof-menu-searchAlternate')) { - compare = menuitem.getAttribute('data-ponyhoof-menu-searchAlternate'); - } - - if (regex.test(compare)) { - menuitem.style.display = 'block'; - count += 1; - } - } else { - menuitem.style.display = 'none'; - } - }); - - $$(k.menu, '.ponyhoof_menu_search_noResults', function(ele) { - if (val) { - if (!count) { - ele.style.display = 'block'; - } else { - ele.style.display = 'none'; - } - } else { - ele.style.display = 'none'; - } - }); - - $$(k.menu, '.uiMenuSeparator', function(menuitem) { - if (val == '') { - menuitem.style.display = ''; - return; - } - - menuitem.style.display = 'none'; - }); - - if (k.hasScrollableArea) { - k.scrollableArea.poke(); - } - }; - - k.searchEscapeKey = function(e) { - if (e.which == 27) { - if (k.menuSearchInput.value != '') { - k.menuSearchInput.value = ''; - k.performSearch(); - } else { - k.close(); - if (k.button) { - k.button.focus(); - } - } - e.stopPropagation(); - e.cancelBubble = true; - } - }; - - k.documentEscapeKey = function(e) { - if (e.which == 27 && hasClass(k.wrap, 'openToggler')) { // esc - k.close(); - e.stopPropagation(); - e.cancelBubble = true; - - if (k.button) { - k.button.focus(); - } - } - }; - - k.documentClick = function(e) { - k.close(); - e.stopPropagation(); - e.preventDefault(); - }; - - k.focusStealerFocused = function(e) { - if (k.canSearch) { - k.menuSearchInput.focus(); - } - }; -}; - -var MenuItem = function(menu) { - var k = this; - - k.menuItem = null; - k.menu = menu; - k.onclick = null; - - k._create = function(param) { - k.menuItem = d.createElement('a'); - k.menuItem.href = '#'; - k.menuItem.className = 'ponyhoof_menuitem'; - k.menuItem.setAttribute('role', 'menuitem'); - - if (param.check) { - k.menuItem.className += ' ponyhoof_menuitem_checked'; - } - - if (param.data) { - k.menuItem.setAttribute('data-ponyhoof-menu-data', param.data); - } - - if (param.title) { - k.menuItem.setAttribute('aria-label', param.title); - k.menuItem.setAttribute('data-hover', 'tooltip'); - } - - if (param.unsearchable) { - k.menuItem.className += ' unsearchable'; - } - - if (param.searchAlternate) { - k.menuItem.setAttribute('data-ponyhoof-menu-searchAlternate', param.searchAlternate); - } - - if (param.extraClass) { - k.menuItem.className += param.extraClass; - } - - k.menuItem.innerHTML = ''+param.html+''; - - if (param.onclick) { - k.onclick = param.onclick; - } - k.menuItem.addEventListener('click', function(e) { - e.stopPropagation(); - if (k.onclick) { - k.onclick(k, k.menu); - } - - return false; - }, false); - k.menuItem.addEventListener('dragstart', function() { - return false; - }, false); - - return k.menuItem; - }; - - k.getText = function() { - return k.menuItem.getElementsByClassName('ponyhoof_menuitem_span')[0].innerHTML; - }; -}; - -// Dialog -var DIALOGS = {}; -var DIALOGCOUNT = 2000; -var Dialog = function(id) { - var k = this; - - k.dialog = null; - k.generic_dialogDiv = null; - k.popup_dialogDiv = null; - k.id = id; - k.visible = false; - - k.alwaysModal = false; - k.noTitle = false; - k.noBottom = false; - - k.canCardspace = true; - k.cardSpaceTimer = null; - k.cardspaced = false; - - k.onclose = function() {}; - k.onclosefinish = function() {}; - k.canCloseByEscapeKey = true; - - k.skeleton = ''; - - k.create = function() { - //if (DIALOGS[k.id]) { - // log("Attempting to recreate dialog ID \""+k.id+"\""); - // return DIALOGS[k.id].dialog; - //} - - //DIALOGS[k.id] = k; - - log("Creating "+k.id+" dialog..."); - - k.injectStyle(); - - DIALOGCOUNT += 1; - k.skeleton = ''; - k.skeleton += ''; - - INTERNALUPDATE = true; - - k.dialog = d.createElement('div'); - k.dialog.className = 'ponyhoof_dialog'; - k.dialog.id = 'ponyhoof_dialog_'+k.id; - k.dialog.innerHTML = k.skeleton; - d.body.appendChild(k.dialog); - - INTERNALUPDATE = false; - - k.generic_dialogDiv = k.dialog.getElementsByClassName('pop_dialog')[0]; - k.popup_dialogDiv = k.dialog.getElementsByClassName('popup')[0]; - - if (k.alwaysModal) { - addClass(k.generic_dialogDiv, 'generic_dialog_modal'); - } - if (k.noTitle) { - addClass(k.dialog.getElementsByTagName('h3')[0], 'hidden_elem'); - } - if (k.noBottom) { - addClass(k.dialog.getElementsByClassName('bottom')[0], 'hidden_elem'); - } - - k.show(); - - return k.dialog; - }; - - k.injectStyle = function() { - var cx = '._6nw'; - if (d.getElementsByClassName('-cx-PUBLIC-hasLitestand__body').length) { - cx = '.-cx-PUBLIC-hasLitestand__body'; - } - - var css = ''; - css += '.ponyhoof_message .wrap {margin-top:3px;background:transparent !important;display:block;}'; - css += '.ponyhoof_message .uiButton.rfloat {margin-left:10px;}'; - - css += '.ponyhoof_dialog, .ponyhoof_dialog .body {font-size:11px;}'; - css += cx+' .ponyhoof_dialog, '+cx+' .ponyhoof_dialog .body {font-size:12px;}'; - css += '.ponyhoof_dialog iframe {-webkit-user-select:none;-moz-user-select:none;user-select:none;}'; - css += '.ponyhoof_dialog textarea, .ponyhoof_dialog input[type="text"] {cursor:text;-moz-box-sizing:border-box;box-sizing:border-box;}'; - css += '.ponyhoof_dialog .generic_dialog_modal, .ponyhoof_dialog .generic_dialog_fixed_overflow {background-color:rgba(0,0,0,.4) !important;}'; - css += '.ponyhoof_dialog .generic_dialog {z-index:250;}'; - css += '.ponyhoof_dialog .generic_dialog_popup {margin-top:80px;}'; - css += '.ponyhoof_dialog .popup {width:465px;margin:0 auto;cursor:default;box-shadow:0 2px 26px rgba(0, 0, 0, .3), 0 0 0 1px rgba(0, 0, 0, .1);}'; - css += cx+' .ponyhoof_dialog .popup {font-family:"Helvetica Neue", Helvetica, Arial, "lucida grande",tahoma,verdana,arial,sans-serif;}'; - css += '.ponyhoof_dialog .wrap {background:#fff;color:#000;}'; - css += '.ponyhoof_dialog h3 {background-color:#6D84B4;border:1px solid #3B5998;border-bottom:0;color:#fff;font-size:14px !important;font-weight:bold !important;padding:5px 5px 5px 10px;cursor:help;min-height:17px;font-family:\'lucida grande\',tahoma,verdana,arial,sans-serif !important;line-height:1.28 !important;}'; - css += cx+' .ponyhoof_dialog h3 {background:#f5f6f7;border:0;border-bottom:1px solid #e5e5e5;border-radius:3px 3px 0 0;color:#4e5665;line-height:19px !important;padding:10px 12px;text-shadow:0 1px 0 #fff;font-family:\'Helvetica Neue\', Helvetica, Arial, \'lucida grande\',tahoma,verdana,arial,sans-serif !important;}'; - css += '.ponyhoof_dialog h3:before {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA90lEQVQYGQXBP0oWAADA0ff9NURBRAVDMBcHl9SpIbCamsOhcOsMObiEICJ2gJYQWhqkscmWTlFeoJbASacIfr4ngaZtAZAGJBLoRV+hDdKjdpJIoJl2oGPopEsSCdAA+tksLfWEREIakcb963ljGpJIoNe9a7eX1beGLbdOIoF01m231U2/um6RRELzpI9V1V2bkEja7qi55npfVf3pbRMSSQddN2ml31XV//YgkTTpWZM+d9xh9aMPfWq3QSKhcQ8a01p/O+hxC522n0gAWqWrnjag750nEqCHXTTbeWs07U3biQRosS9Ne9UIWm6YSABap3kAkntUReU7PxfnpgAAAABJRU5ErkJggg==");background-repeat: no-repeat;display:inline-block;float:right;content:" ";width:16px;height:16px;opacity:.713;}'; - css += cx+' .ponyhoof_dialog h3:before {display:none;}'; - css += '.ponyhoof_dialog .body {border:1px solid #555;border-top-width:0;}'; - css += '.ponyhoof_dialog h3.hidden_elem + .body {border-top-width:1px;}'; - css += cx+' .ponyhoof_dialog .body {border:0;}'; - css += '.ponyhoof_dialog .content {padding:10px;}'; - css += '.ponyhoof_dialog .bottom {background:#F2F2F2;border-top:1px solid #ccc;padding:8px 10px 8px 10px;text-align:right;}'; - css += cx+' .ponyhoof_dialog .bottom {border-radius:0 0 3px 3px;}'; - css += '.ponyhoof_dialog .bottom .lfloat {line-height:17px;margin-top:4px;}'; - - css += '.ponyhoof_dialog_header {background:#F2F2F2;border:solid #E2E2E2;border-width:1px 0;padding:4px 10px 5px;color:#333;font-size:11px;margin:0 -10px 8px;display:block;font-weight:bold;}'; - css += '.ponyhoof_tabs {padding:4px 10px 0;background:#F2F2F2;border-bottom:1px solid #ccc;margin:-10px -10px 10px;}'; - css += '.ponyhoof_tabs a {margin:3px 10px 0 0;padding:5px 8px;float:left;}'; - css += '.ponyhoof_tabs a.active {color:#333;padding:4px 7px 5px;background:#fff;border:1px solid #ccc;border-bottom:1px solid #fff;margin-bottom:-1px;text-decoration:none;}'; - css += '.ponyhoof_tabs_section {display:none;}'; - - if (ISMOBILE) { - css += '.ponyhoof_dialog .generic_dialog {position:absolute;}'; - } - - injectManualStyle(css, 'dialog'); - }; - - k.show = function() { - removeClass(k.dialog, 'ponyhoof_fadeout'); - removeClass(k.generic_dialogDiv, 'ponyhoof_fadeout'); - - k.visible = true; - k.dialog.style.display = 'block'; - k.generic_dialogDiv.style.display = 'block'; - - if (ISMOBILE) { - k.canCardspace = false; - } - - if (k.canCardspace) { - w.addEventListener('resize', k.onBodyResize, false); - k.cardSpaceTick(); - } - - if (k.canCloseByEscapeKey) { - d.body.addEventListener('keydown', k.documentEscapeKey, false); - } - }; - - k.close = function(callback) { - k.onclose(); - - if (!userSettings.disable_animation) { - fadeOut(k.dialog, function() { - if (callback) { - callback(); - } - k.onclosefinish(); - }); - if (callback) { - log("Legacy dialog close code found [Dialog.close()]"); - } - - if (ISOPERA) { - fadeOut(k.generic_dialogDiv); - } - } else { - k.dialog.style.display = 'none'; - if (callback) { - callback(); - } - k.onclosefinish(); - } - - k._close(); - }; - - k.hide = function() { - k.onclose(); - - k.dialog.style.display = 'none'; - - k._close(); - }; - - k._close = function() { - k.visible = false; - - w.removeEventListener('resize', k.onBodyResize, false); - w.clearTimeout(k.cardSpaceTimer); - - if (k.cardspaced) { - removeClass(d.documentElement, 'generic_dialog_overflow_mode'); - if (!k.alwaysModal) { - removeClass(k.generic_dialogDiv, 'generic_dialog_modal'); - } - } - removeClass(k.generic_dialogDiv, 'generic_dialog_fixed_overflow'); - k.cardspaced = false; - - d.body.removeEventListener('keydown', k.documentEscapeKey, false); - }; - - k.changeTitle = function(c) { - INTERNALUPDATE = true; - var title = k.dialog.getElementsByTagName('h3'); - if (title.length) { - title = title[0]; - title.innerHTML = c; - } - INTERNALUPDATE = false; - }; - - k.changeContent = function(c) { - INTERNALUPDATE = true; - var content = k.dialog.getElementsByClassName('content'); - if (content.length) { - content = content[0]; - content.innerHTML = c; - } - INTERNALUPDATE = false; - }; - - k.changeBottom = function(c) { - INTERNALUPDATE = true; - var bottom = k.dialog.getElementsByClassName('bottom'); - if (bottom.length) { - bottom = bottom[0]; - bottom.innerHTML = c; - } - INTERNALUPDATE = false; - }; - - k.addCloseButton = function(callback) { - var text = "Close"; - if (CURRENTLANG && CURRENTLANG.close) { - text = CURRENTLANG.close; - } - - var close = ''+text+''; - k.changeBottom(close); - - k.dialog.querySelector('.bottom .uiButton').addEventListener('click', function(e) { - k.close(function() { - if (callback) { - log("Legacy dialog close code found [Dialog.addCloseButton()]"); - callback(); - } - }); - e.preventDefault(); - }, false); - }; - - k.onBodyResize = function() { - if (k.canCardspace) { - var dialogHeight = k.popup_dialogDiv.clientHeight + 80 + 40; - var windowHeight = w.innerHeight; - - if (dialogHeight > windowHeight) { - if (!k.cardspaced) { - addClass(d.documentElement, 'generic_dialog_overflow_mode'); - if (!k.alwaysModal) { - addClass(k.generic_dialogDiv, 'generic_dialog_modal'); - } - addClass(k.generic_dialogDiv, 'generic_dialog_fixed_overflow'); - - k.cardspaced = true; - } - } else { - if (k.cardspaced) { - removeClass(d.documentElement, 'generic_dialog_overflow_mode'); - if (!k.alwaysModal) { - removeClass(k.generic_dialogDiv, 'generic_dialog_modal'); - } - removeClass(k.generic_dialogDiv, 'generic_dialog_fixed_overflow'); - - k.cardspaced = false; - } - } - } - }; - - k.cardSpaceTick = function() { - if (k.canCardspace && k.visible) { - k.onBodyResize(); - k.cardSpaceTimer = w.setTimeout(k.cardSpaceTick, 500); - } else { - w.clearTimeout(k.cardSpaceTimer); - } - }; - - k.documentEscapeKey = function(e) { - if (k.canCloseByEscapeKey) { - if (e.which == 27 && k.visible) { // esc - k.close(); - e.stopPropagation(); - e.cancelBubble = true; - } - } - }; - - if (DIALOGS[k.id]) { - log("Attempting to recreate dialog ID \""+k.id+"\""); - return DIALOGS[k.id]; - } - DIALOGS[k.id] = k; -}; - -function createSimpleDialog(id, title, message) { - if (DIALOGS[id]) { - DIALOGS[id].changeTitle(title); - DIALOGS[id].changeContent(message); - DIALOGS[id].show(); - return DIALOGS[id]; - } - - var di = new Dialog(id); - di.create(); - di.changeTitle(title); - di.changeContent(message); - di.addCloseButton(); - - return di; -}; - -function injectSystemStyle() { - var css = ''; - css += '.ponyhoof_show_if_injected {display:none;}'; - css += '.ponyhoof_hide_if_injected {display:block;}'; - css += '.ponyhoof_hide_if_injected.inline {display:inline;}'; - css += 'html.ponyhoof_injected .ponyhoof_show_if_injected {display:block;}'; - css += 'html.ponyhoof_injected .ponyhoof_hide_if_injected {display:none;}'; - css += '.ponyhoof_show_if_loaded {display:none;}'; - css += '.ponyhoof_updater_latest, .ponyhoof_updater_newVersion, .ponyhoof_updater_error {display:none;}'; - - css += '.ponyhoof_fadeout {opacity:0;-webkit-transition:opacity .25s linear;-moz-transition:opacity .25s linear;-o-transition:opacity .25s linear;transition:opacity .25s linear;}'; - css += '.ponyhoof_message {padding:10px;color:#000;font-weight:bold;overflow:hidden;}'; - - css += '.ponyhoof_loading {background:url("//fbstatic-a.akamaihd.net/rsrc.php/v2/y4/x/GsNJNwuI-UM.gif") no-repeat;display:inline-block;width:16px;height:11px;margin:6px 0 0 6px;}'; - css += '.ponyhoof_loading.ponyhoof_show_if_injected {display:none;}'; - css += 'html.ponyhoof_injected .ponyhoof_loading_pony {display:inline-block;}'; - - css += '.uiHelpLink {background:url("data:image/gif;base64,R0lGODlhDAALAJEAANvb26enp////wAAACH5BAEAAAIALAAAAAAMAAsAAAIblI8WkbcswAtAwWVzwoIbSWliBzWjR5abagoFADs=") no-repeat 0 center;display:inline-block;height:9px;width:12px;}'; - - css += '.uiInputLabel + .uiInputLabel {margin-top:3px;}'; - css += '.uiInputLabelCheckbox {float:left;margin:0;padding:0;}'; - css += '.uiInputLabel label {color:#333;display:block;font-weight:normal;margin-left:17px;vertical-align:baseline;}'; - css += '.webkit.mac .uiInputLabel label {margin-left:16px;}'; - css += '.webkit.mac .uiInputLabelCheckbox {margin-top:2px;}'; - - injectManualStyle(css, 'system'); -} - -// http://www.html5rocks.com/en/tutorials/pagevisibility/intro/ -var _hiddenPropCached = ''; -var getHiddenProp = function() { - if (_hiddenPropCached) { - return _hiddenPropCached; - } - - var prefixes = ['webkit', 'moz', 'ms', 'o']; - - if ('hidden' in document) { - _hiddenPropCached = 'hidden'; - return _hiddenPropCached; - } - - for (var i = 0, len = prefixes.length; i < len; i++){ - if ((prefixes[i] + 'Hidden') in document) { - _hiddenPropCached = prefixes[i] + 'Hidden'; - return _hiddenPropCached; - } - } - - return null; -}; -var isPageHidden = function() { - var prop = getHiddenProp(); - if (!prop) { - return false; - } - - return document[prop]; -}; - -// http://stackoverflow.com/a/2745459 -var isCanvasSupported = function() { - return !!w.CanvasRenderingContext2D; -}; - -// http://stackoverflow.com/a/10930441 -var isWebPSupported = function(callback) { - var webp = new w.Image(); - try { - webp.onload = webp.onerror = function() { - callback(webp.height === 2); - }; - webp.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA'; - } catch (e) { - callback(false); - } -}; - - // http://www.myersdaily.org/joseph/javascript/md5.js -function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-680876936),e=ff(e,b,a,d,c[1],12,-389564586),d=ff(d,e,b,a,c[2],17,606105819),a=ff(a,d,e,b,c[3],22,-1044525330),b=ff(b,a,d,e,c[4],7,-176418897),e=ff(e,b,a,d,c[5],12,1200080426),d=ff(d,e,b,a,c[6],17,-1473231341),a=ff(a,d,e,b,c[7],22,-45705983),b=ff(b,a,d,e,c[8],7,1770035416),e=ff(e,b,a,d,c[9],12,-1958414417),d=ff(d,e,b,a,c[10],17,-42063),a=ff(a,d,e,b,c[11],22,-1990404162),b=ff(b,a,d,e,c[12],7,1804603682),e=ff(e,b,a,d,c[13],12,-40341101),d=ff(d,e,b,a,c[14],17,-1502002290),a=ff(a,d,e,b,c[15],22,1236535329),b=gg(b,a,d,e,c[1],5,-165796510),e=gg(e,b,a,d,c[6],9,-1069501632),d=gg(d,e,b,a,c[11],14,643717713),a=gg(a,d,e,b,c[0],20,-373897302),b=gg(b,a,d,e,c[5],5,-701558691),e=gg(e,b,a,d,c[10],9,38016083),d=gg(d,e,b,a,c[15],14,-660478335),a=gg(a,d,e,b,c[4],20,-405537848),b=gg(b,a,d,e,c[9],5,568446438),e=gg(e,b,a,d,c[14],9,-1019803690),d=gg(d,e,b,a,c[3],14,-187363961),a=gg(a,d,e,b,c[8],20,1163531501),b=gg(b,a,d,e,c[13],5,-1444681467),e=gg(e,b,a,d,c[2],9,-51403784),d=gg(d,e,b,a,c[7],14,1735328473),a=gg(a,d,e,b,c[12],20,-1926607734),b=hh(b,a,d,e,c[5],4,-378558),e=hh(e,b,a,d,c[8],11,-2022574463),d=hh(d,e,b,a,c[11],16,1839030562),a=hh(a,d,e,b,c[14],23,-35309556),b=hh(b,a,d,e,c[1],4,-1530992060),e=hh(e,b,a,d,c[4],11,1272893353),d=hh(d,e,b,a,c[7],16,-155497632),a=hh(a,d,e,b,c[10],23,-1094730640),b=hh(b,a,d,e,c[13],4,681279174),e=hh(e,b,a,d,c[0],11,-358537222),d=hh(d,e,b,a,c[3],16,-722521979),a=hh(a,d,e,b,c[6],23,76029189),b=hh(b,a,d,e,c[9],4,-640364487),e=hh(e,b,a,d,c[12],11,-421815835),d=hh(d,e,b,a,c[15],16,530742520),a=hh(a,d,e,b,c[2],23,-995338651),b=ii(b,a,d,e,c[0],6,-198630844),e=ii(e,b,a,d,c[7],10,1126891415),d=ii(d,e,b,a,c[14],15,-1416354905),a=ii(a,d,e,b,c[5],21,-57434055),b=ii(b,a,d,e,c[12],6,1700485571),e=ii(e,b,a,d,c[3],10,-1894986606),d=ii(d,e,b,a,c[10],15,-1051523),a=ii(a,d,e,b,c[1],21,-2054922799),b=ii(b,a,d,e,c[8],6,1873313359),e=ii(e,b,a,d,c[15],10,-30611744),d=ii(d,e,b,a,c[6],15,-1560198380),a=ii(a,d,e,b,c[13],21,1309151649),b=ii(b,a,d,e,c[4],6,-145523070),e=ii(e,b,a,d,c[11],10,-1120210379),d=ii(d,e,b,a,c[2],15,718787259),a=ii(a,d,e,b,c[9],21,-343485551);f[0]=add32(b,f[0]);f[1]=add32(a,f[1]);f[2]=add32(d,f[2]);f[3]=add32(e,f[3])}function cmn(f,c,b,a,d,e){c=add32(add32(c,f),add32(a,e));return add32(c<>>32-d,b)}function ff(f,c,b,a,d,e,g){return cmn(c&b|~c&a,f,c,d,e,g)}function gg(f,c,b,a,d,e,g){return cmn(c&a|b&~a,f,c,d,e,g)}function hh(f,c,b,a,d,e,g){return cmn(c^b^a,f,c,d,e,g)}function ii(f,c,b,a,d,e,g){return cmn(b^(c|~a),f,c,d,e,g)}function md51(f){var txt="";var c=f.length,b=[1732584193,-271733879,-1732584194,271733878],a;for(a=64;a<=f.length;a+=64)md5cycle(b,md5blk(f.substring(a-64,a)));f=f.substring(a-64);var d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a>2]|=f.charCodeAt(a)<<(a%4<<3);d[a>>2]|=128<<(a%4<<3);if(55a;a++)d[a]=0}d[14]=8*c;md5cycle(b,d);return b}function md5blk(f){var c=[],b;for(b=0;64>b;b+=4)c[b>>2]=f.charCodeAt(b)+(f.charCodeAt(b+1)<<8)+(f.charCodeAt(b+2)<<16)+(f.charCodeAt(b+3)<<24);return c}var hex_chr="0123456789abcdef".split("");function rhex(f){for(var c="",b=0;4>b;b++)c+=hex_chr[f>>8*b+4&15]+hex_chr[f>>8*b&15];return c}function hex(f){for(var c=0;c>16)+(c>>16)+(b>>16)<<16|b&65535}); - var VERSION = 1.711; - var FRIENDLYNAME = 'P'+'onyh'+'oof'; - var SIG = '['+FRIENDLYNAME+' v'+VERSION+']'; - var DISTRIBUTION = 'userjs'; - - var runMe = true; - var STORAGEMETHOD = 'none'; - var INTERNALUPDATE = false; - var USINGMUTATION = false; - - var CURRENTPONY = null; - var REALPONY = CURRENTPONY; - var BRONYNAME = ''; - var USERID = 0; - var UILANG = 'en_US'; - var CURRENTLANG = {}; - var ISUSINGPAGE = false; - var ISUSINGBUSINESS = false; - var ONPLUGINPAGE = false; - - var SETTINGSPREFIX = ''; - var globalSettings = {}; - var GLOBALDEFAULTSETTINGS = { - 'allowLoginScreen':true, - 'runForNewUsers':true, - 'globalSettingsMigrated':false, 'lastUserId':0, 'lastVersion':'' - }; - - var PONIES = [{"code":"trixie","name":"Trixie","users":["trixie"],"menu_title":"The Great and Powerful Trixie demands your attention!","color":["6e98b4","3a7196"],"icon16":"trixie\/icon16_2.png","soundNotif":"trixie\/notif","loadingText":"Performing magic..."},{"code":"twilight","name":"Twilight Sparkle","users":["twilight","spark","tw\u0131l\u0131ght","twilite","twi light","\u0162wilight"],"search":"twilight sparkle|twilightsparkle|princess twilight","menu_title":"To switch to Princess Twilight, go to Misc > Appearance","color":["9f6eb4","7a3a96"],"icon16":"twilight\/icon32.png","mane6":true,"loadingText":"Studying friendship..."},{"code":"dash","name":"Rainbow Dash","users":["rainbow","dash"],"search":"rainbow dash|rainbowdash|dashie","color":["6e9db4","3a7796"],"soundNotif":"dash\/notif","mane6":true,"loadingText":"Loading... in ten seconds flat!","successText":"Aww yeah!"},{"code":"pinkie","name":"Pinkie Pie","users":["pink"],"search":"pinkie pie|pinkiepie|pinkamena diane pie","color":["b46e8a","963a5f"],"icon16":"pinkie\/favicon2.png","soundNotif":"pinkie\/notif2","mane6":true,"loadingText":"Come on everypony!"},{"code":"applej","name":"Applejack","users":["apple j","applej"],"search":"applejack|apple jack","color":["b4976e","96703a"],"soundNotif":"applej\/notif2","icon16":"applej\/favicon2.png","mane6":true,"loadingText":"Hold on there sugarcube!","successText":"Yeehaw!"},{"code":"flutter","name":"Fluttershy","users":["flutter","flut ter"],"search":"fluttershy|flutter shy","color":["b4ae6e","968e3a"],"icon16":"flutter\/favicon2.png","soundNotif":"flutter\/notif2","mane6":true,"loadingText":"Screaming...","successText":"Yay!"},{"code":"rarity","name":"Rarity","users":["rarity"],"color":["9b6eb4","763a96"],"soundNotif":"rarity\/notif","icon16":"rarity\/favicon2.png","mane6":true,"loadingText":"Whining...","seperator":true},{"code":"aloe","name":"Aloe","users":["aloe"],"search":"aloe|spa pony|spa ponies","color":["b46e91","963a68"],"icon16":"aloe\/favicon2.png"},{"code":"applebloom","name":"Apple Bloom","users":["appleb","apple b"],"search":"apple bloom|applebloom|cmc|cutie mark crusaders","color":["b46e8d","963a63"],"icon16":"_common\/cmc_favicon.png","soundNotif":"applebloom\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"babsseed","name":"Babs Seed","users":["babs","seed"],"search":"babs seed|babsseed|cmc|cutie mark crusaders","color":["b4976e","96703a"],"icon16":"_common\/cmc_favicon.png","nocutie":true},{"code":"berry","name":"Berry Punch","users":["berry"],"search":"berry punch|berrypunch","color":["a56eb4","823a96"],"icon16":"berry\/favicon2.png"},{"code":"bigmac","name":"Big Macintosh","users":["bigmac","big mac"],"search":"bigmacintosh|big macintosh|big mcintosh|bigmcintosh","color":["b46e75","963a43"],"icon16":"bigmac\/favicon2.png","soundNotif":"bigmac\/notif","loadingText":"Saying eeyup..."},{"code":"bonbon","name":"Bon Bon","users":["bon bon","bonbon","bon-bon"],"search":"bon bon|bonbon","color":["6e89b4","3a5d96"]},{"code":"braeburn","name":"Braeburn","users":["braeburn","breaburn"],"search":"braeburn|breaburn","color":["b4a86e","96873a"],"icon16":"braeburn\/favicon2.png"},{"code":"cadance","name":"Cadance","users":["cadance","cadence"],"search":"cadance|cadence|princess cadance|princess cadence","color":["b46e96","963a6e"]},{"code":"carrot","name":"Carrot Top","users":["golden","carrot"],"search":"carrot top|carrottop|golden harvest","menu_title":"Also known as Golden Harvest","color":["b2b46e","93963a"]},{"code":"celestia","name":"Celestia","users":["celestia","trollestia","molestia"],"search":"celestia|princess celestia","color":["b46e98","963a71"],"icon16":"celestia\/favicon2.png","loadingText":"Raising the sun..."},{"code":"cheerilee","name":"Cheerilee","users":["cheerilee"],"color":["b46e96","963a6e"]},{"code":"colgate","name":"Colgate","users":["colgate","minuette"],"search":"colgate|minuette|minette","menu_title":"Also known as Minuette","color":["6e99b4","3a7396"],"icon16":"colgate\/favicon2.png","soundNotif":"colgate\/notif","loadingText":"Brushing..."},{"code":"cloudchaser","name":"Cloudchaser","users":["cloudch","cloud ch"],"search":"cloudchaser|cloud chaser|stormwalker|storm walker","menu_title":"Also known as Stormwalker","color":["856eb4","593a96"],"icon16":"cloudchaser\/favicon2.png"},{"code":"daring","name":"Daring Do","users":["daring"],"search":"daring do|daringdo","color":["b4a76e","96853a"]},{"code":"derpy","name":"Derpy Hooves","users":["derpy"],"color":["b4b46e","96963a"],"fbIndex_swf":"derpy\/fbIndex.swf","soundNotif":"derpy\/notif","icon16":"derpy\/icon16_2.png","loadingText":"Wondering what went wrong..."},{"code":"diamondtiara","name":"Diamond Tiara","users":["tiara"],"search":"diamond tiara|diamondtiara","color":["926eb4","6a3a96"],"stack":"villian"},{"code":"discord","name":"Discord","users":["discord"],"color":["b46f6e","963c3a"],"stack":"villian","loadingText":"CHOCOLATE RAIN","nocutie":true},{"code":"whooves","name":"Doctor Whooves","users":["whooves","time turn"],"search":"doctor whooves|doctor hooves|time turner","menu_title":"Also known as Time Turner","color":["b4a06e","967c3a"],"icon16":"whooves\/favicon2.png"},{"code":"fleur","name":"Fleur De Lis","users":["fleur","fluer"],"search":"fleur de lis|fluer de lis|fleur dis lee|fluer dis lee","color":["b46eb4","963a96"]},{"code":"flimflam","name":"Flim and Flam","users":["flim","flam"],"color":["b0b46e","91963a"],"loadingText":"Giving opportunities..."},{"code":"flitter","name":"Flitter","users":["Flitter"],"color":["846eb4","573a96"],"icon16":"flitter\/favicon2.png"},{"code":"gilda","name":"Gilda","users":["gilda"],"color":["b49a6e","96743a"],"stack":"villian","nocutie":true},{"code":"ironwill","name":"Iron Will","users":["iron will","ironwill"],"search":"ironwill|iron will","color":["6e84b4","3a5796"],"stack":"villian","nocutie":true},{"code":"sombra","name":"King Sombra","users":["sombra"],"color":["6eb46e","3a963a"],"stack":"villian","nocutie":true},{"code":"lightningdust","name":"Lightning Dust","users":["lightning"],"color":["6eb4ad","3a968d"],"icon16":"lightningdust\/favicon2.png"},{"code":"lotus","name":"Lotus","users":["lotus"],"search":"lotus|spa pony|spa ponies","color":["6ea0b4","3a7c96"],"icon16":"lotus\/favicon2.png"},{"code":"luna","name":"Luna","users":["luna"],"search":"luna|princess luna|nightmare moon|nightmaremoon","color":["6e7eb4","3a5096"],"icon16":"luna\/favicon2.png","soundNotif":"luna\/notif","loadingText":"Doubling the fun...","successText":"Huzzah!"},{"code":"lyra","name":"Lyra","users":["lyra"],"search":"lyra heartstrings","color":["6eb49d","3a9677"],"icon16":"lyra\/favicon2.png"},{"code":"nightmaremoon","name":"Nightmare Moon","users":["nightmare"],"search":"nightmare moon|nightmaremoon|luna|princess luna","color":["6e7fb4","3a5196"],"stack":"villian"},{"code":"nurseredheart","name":"Nurse Redheart","users":["nurse","redheart"],"color":["b46e76","963a45"],"icon16":"nurseredheart\/favicon2.png"},{"code":"octavia","name":"Octavia","users":["octavia"],"color":["b4a76e","96853a"]},{"code":"pinkamena","name":"Pinkamena","users":["pinkamena"],"search":"pinkamena diane pie","color":["b46e8c","963a62"],"stack":"villian"},{"code":"chrysalis","name":"Queen Chrysalis","users":["chrysalis"],"search":"queen chrysalis|changeling","color":["6ea2b4","3a7f96"],"stack":"chrysalis","loadingText":"Feeding...","nocutie":true},{"code":"roidrage","name":"Roid Rage","users":["snowflake","roid","rage"],"search":"snowflake|roidrage|roid rage","menu_title":"Also known as Snowflake","color":["b4ae6e","968e3a"],"soundNotif":"_sound\/roidrage_yeah","successText":"YEAH!"},{"code":"rose","name":"Rose","users":["rose"],"search":"roseluck","menu_title":"Also known as Roseluck","color":["b46e8c","963a62"],"icon16":"rose\/favicon2.png"},{"code":"scootaloo","name":"Scootaloo","users":["scootaloo"],"search":"scootaloo|cmc|cutie mark crusaders|chicken","color":["b4996e","96733a"],"icon16":"_common\/cmc_favicon.png","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"shiningarmor","name":"Shining Armor","users":["shining armor"],"search":"shining armor|shiningarmor","color":["6e7bb4","3a4b96"],"icon16":"shiningarmor\/favicon2.png"},{"code":"silverspoon","name":"Silver Spoon","users":["spoon"],"search":"silver spoon|silverspoon","color":["6e97b4","3a7096"],"stack":"villian"},{"code":"soarin","name":"Soarin'","users":["soarin"],"search":"soarin'|wonderbolts","color":["6e9db4","3a7796"]},{"code":"spike","name":"Spike","users":["spike"],"color":["a26eb4","7f3a96"],"nocutie":true},{"code":"spitfire","name":"Spitfire","users":["spitfire"],"search":"spitfire|wonderbolts","color":["b4ae6e","968e3a"],"icon16":"spitfire\/favicon2.png"},{"code":"sweetieb","name":"Sweetie Belle","users":["sweetieb","sweetie b"],"search":"sweetiebelle|sweetie belle|cmc|cutie mark crusaders","color":["a06eb4","7c3a96"],"icon16":"_common\/cmc_favicon.png","soundNotif":"sweetieb\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"thunderlane","name":"Thunderlane","users":["thunder"],"search":"thunderlane|thunder lane","color":["6eb4b4","3a9696"]},{"code":"vinyl","name":"Vinyl Scratch","users":["vinyl","vinyx","dj p"],"search":"vinyl scratch|dj pon3|dj-pon3|dj pon 3|dj pon-3","menu_title":"Also known as DJ Pon-3","color":["6ea9b4","3a8896"],"icon16":"vinyl\/favicon2.png","soundNotif":"vinyl\/notif","loadingText":"Wubbing..."},{"code":"zecora","name":"Zecora","users":["zecora"],"color":["b4af6e","96903a"]},{"code":"blank","name":"(Blank)","color":["b46e6e","963a3a"],"hidden":true,"nocutie":true},{"code":"bloomberg","name":"Bloomberg","color":["9fb46e","7a963a"],"hidden":true,"nocutie":true},{"code":"mono","name":"Mono","color":["b46e6e","963a3a"],"stack":"mono","hidden":true},{"code":"taugeh","name":"Taugeh","color":["b4b46e","96963a"],"icon16":"twilight\/icon32.png","hidden":true,"nocutie":true}]; - var LANG = {"af_ZA":{"sniff_comment_tooltip_like":"Hou van hierdie opmerking","sniff_comment_tooltip_unlike":"Hou nie meer van hierdie opmerking nie"},"ar_AR":{"sniff_comment_tooltip_like":"\u0627\u0644\u0625\u0639\u062c\u0627\u0628 \u0628\u0627\u0644\u062a\u0639\u0644\u064a\u0642","sniff_comment_tooltip_unlike":"\u0625\u0644\u063a\u0627\u0621 \u0625\u0639\u062c\u0627\u0628\u064a \u0628\u0647\u0630\u0627 \u0627\u0644\u062a\u0639\u0644\u064a\u0642"},"az_AZ":{"sniff_comment_tooltip_like":"Bu r\u0259yi b\u0259y\u0259n","sniff_comment_tooltip_unlike":"Bu \u015f\u0259rhi b\u0259y\u0259nm\u0259"},"be_BY":{"sniff_comment_tooltip_like":"\u041f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430","sniff_comment_tooltip_unlike":"\u041c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448 \u043d\u0435 \u043f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430 \u0433\u044d\u0442\u044b \u043a\u0430\u043c\u044d\u043d\u0442\u0430\u0440"},"bg_BG":{"sniff_comment_tooltip_like":"\u0425\u0430\u0440\u0435\u0441\u0432\u0430\u043c \u0442\u043e\u0437\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u0412\u0435\u0447\u0435 \u043d\u0435 \u0445\u0430\u0440\u0435\u0441\u0432\u0430\u043c"},"bn_IN":{"sniff_comment_tooltip_like":"\u09ae\u09a8\u09cd\u09a4\u09ac\u09cd\u09af\u099f\u09bf \u09ad\u09be\u09b2\u09cb \u09b2\u09c7\u0997\u09c7\u099b\u09c7","sniff_comment_tooltip_unlike":"\u09ad\u09be\u09b2\u09cb \u09b2\u09be\u0997\u09c7\u09a8\u09bf"},"bs_BA":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se komentar"},"ca_ES":{"sniff_comment_tooltip_like":"M'agrada aquest comentari","sniff_comment_tooltip_unlike":"Ja no m'agrada aquest comentari."},"cs_CZ":{"sniff_comment_tooltip_like":"Tento koment\u00e1\u0159 se mi l\u00edb\u00ed.","sniff_comment_tooltip_unlike":"Koment\u00e1\u0159 se mi u\u017e nel\u00edb\u00ed","close":"Zav\u0159\u00edt"},"cy_GB":{"sniff_comment_tooltip_like":"Hoffi'r sylw hwn","sniff_comment_tooltip_unlike":"Peidio hoffi'r sylw hwn"},"da_DK":{"fb_composer_lessons":"Hvilke lektioner i venskab har du l\u00e6rt idag?","sniff_comment_tooltip_like":"Tilkendegiv, at du synes godt om denne kommentar","sniff_comment_tooltip_unlike":"Synes ikke godt om denne kommentar l\u00e6ngere","close":"Luk"},"de_DE":{"fb_composer_lessons":"Welche Lektionen \u00fcber Freundschaft hast Du heute gelernt?","sniff_comment_tooltip_like":"Dieser Kommentar gef\u00e4llt mir","sniff_comment_tooltip_unlike":"Dieser Kommentar gef\u00e4llt mir nicht mehr","close":"Schlie\u00dfen"},"el_GR":{"sniff_comment_tooltip_like":"\u039c\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf","sniff_comment_tooltip_unlike":"\"\u0394\u03b5\u03bd \u03bc\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9!\" \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf"},"en_PI":{"sniff_comment_tooltip_like":"This comment be pleasin","sniff_comment_tooltip_unlike":"Care not fer such trifles"},"en_US":{"fb_composer_lessons":"What lessons in friendship have you learned today?","fb_comment_box":"Write a friendship letter...","fb_search_box":"Search for ponies, places and things","fb_search_boxAlt":"Type to search for ponies, places and things","fb_composer_coolstory":"Write a cool story...","fb_composer_ponies":"Ponies!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"Remember! You gotta share... You gotta care...","sniff_comment_tooltip_like":"Like this comment","sniff_comment_tooltip_unlike":"Unlike this comment","sniff_fb_search_boxAlt":"Type to search","close":"Close","reloadNow":"Reload now","notNow":"Not now","invertSelection":"Invert selection","finish":"Finish","done":"Eeyup","options_title":"Ponyhoof Options","options_tabs_main":"General","options_tabs_background":"Background","options_tabs_sounds":"Sounds","options_tabs_extras":"Misc","options_tabs_advanced":"Debug","options_tabs_about":"About","settings_disable_runForNewUsers_explain":"If you enable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_extras_login_bg":"Use alternate background","settings_sounds":"Play sounds (e.g. notifications and dialogs)","settings_sounds_noNotification":"Play sounds (e.g. dialogs)","settings_extras_runForNewUsers_explain":"If you disable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_main_visitPage":"Visit the Ponyhoof page for news or contact us","settings_main_visitPageBusiness":"Visit the Ponyhoof page for news","settings_sounds_unavailable":"Notification sounds are not available on your browser. Please update your browser if possible.","updater_title":"Update Ponyhoof","costume_tooltip":"Limited to certain characters only"},"eo_EO":{"sniff_comment_tooltip_like":"\u015cati \u0109i tiun komenton","sniff_comment_tooltip_unlike":"Ne plu \u015dati \u0109i tiun komenton"},"es_ES":{"sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"es_LA":{"fb_composer_lessons":"\u00bfQue has aprendido hoy sobre la amistad?","fb_comment_box":"Escribe un reporte de amistad...","sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"et_EE":{"sniff_comment_tooltip_like":"Meeldib see kommentaar","sniff_comment_tooltip_unlike":"Ei meeldi enam"},"eu_ES":{"sniff_comment_tooltip_like":"Iruzkin hau atsegin dut","sniff_comment_tooltip_unlike":"Iruzkin hau desatsegin"},"fa_IR":{"sniff_comment_tooltip_like":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0645\u06cc\u200c\u067e\u0633\u0646\u062f\u0645","sniff_comment_tooltip_unlike":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0646\u067e\u0633\u0646\u062f\u06cc\u062f\u0645"},"fb_LT":{"fb_composer_lessons":"W|-|47 \u00a33550|\\|5 !|\\| |=|2!3|\\||)5|-|!|* |-|4\\\/3 '\/0|_| \u00a334|2|\\|3|) 70|)4'\/?","fb_comment_box":"W|2!73 4 |=|2!3|\\||)5|-|!|* \u00a33773|2...","fb_search_box":"S34|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_search_boxAlt":"T'\/|*3 70 534|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_composer_coolstory":"W|2!73 4 (00\u00a3 570|2'\/...","fb_composer_ponies":"P0|\\|!35!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"R3|\\\/|3|\\\/|83|2! Y0|_| 90774 5|-|4|23... Y0|_| 90774 (4|23...","close":"Alt+F4","reloadNow":"R3\u00a304|) |\\|0vv","notNow":"N07 |\\|0vv","invertSelection":"I|\\|\\\/3|27 53\u00a33(7!0|\\|","finish":"F!|\\|!5|-|","done":"E3'\/|_||*","options_title":"P0|\\|'\/|-|00|= O|*7!0|\\|5","options_tabs_main":"G3|\\|3|24\u00a3","options_tabs_background":"B4(k9|20|_||\\||)","options_tabs_sounds":"S0|_||\\||)5","options_tabs_extras":"M!5(","options_tabs_advanced":"D38|_|9","options_tabs_about":"A80|_|7","settings_disable_runForNewUsers_explain":"I|= '\/0|_| 3|\\|48\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_extras_login_bg":"U53 4\u00a373|2|\\|473 84(k9|20|_||\\||)","settings_sounds":"P\u00a34'\/ 50|_||\\||)5 (3.9. |\\|07!|=!(47!0|\\|5 4|\\||) |)!4\u00a3095)","settings_sounds_noNotification":"P\u00a34'\/ 50|_||\\||)5 (3.9. |)!4\u00a3095)","settings_extras_runForNewUsers_explain":"I|= '\/0|_| |)!548\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_main_visitPage":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5 0|2 (0|\\|74(7 |_|5","settings_main_visitPageBusiness":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5","settings_sounds_unavailable":"N07!|=!(47!0|\\| 50|_||\\||)5 4|23 |\\|07 4\\\/4!\u00a348\u00a33 0|\\| '\/0|_||2 8|20vv53|2. P\u00a33453 |_||*|)473 '\/0|_||2 8|20vv53|2 !|= |*055!8\u00a33.","updater_title":"U|*|)473 P0|\\|'\/|-|00|=","costume_tooltip":"L!|\\\/|!73|) 70 (3|274!|\\| (|-|4|24(73|25 0|\\|\u00a3'\/","sniff_comment_tooltip_like":"<3"},"fi_FI":{"fb_composer_lessons":"Mit\u00e4 oppeja yst\u00e4vyydest\u00e4 olet oppinut t\u00e4n\u00e4\u00e4n?","sniff_comment_tooltip_like":"Tykk\u00e4\u00e4 t\u00e4st\u00e4 kommentista","sniff_comment_tooltip_unlike":"En tykk\u00e4\u00e4k\u00e4\u00e4n","close":"Sulje"},"fo_FO":{"sniff_comment_tooltip_like":"M\u00e6r d\u00e1mar vi\u00f0merkingina"},"fr_CA":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fr_FR":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fy_NL":{"sniff_comment_tooltip_like":"Leuke reaksje","sniff_comment_tooltip_unlike":"Ik mei net mear oer dit berjocht"},"ga_IE":{"fb_composer_lessons":"cad ceachtanna i cairdeas ad'fhoghlaim t\u00fa inniu?","sniff_comment_tooltip_like":"L\u00e9irigh gur maith leat an tr\u00e1cht seo","sniff_comment_tooltip_unlike":"N\u00ed maith liom an tr\u00e1cht seo","close":"D\u00fan"},"gl_ES":{"sniff_comment_tooltip_like":"G\u00fastame este comentario","sniff_comment_tooltip_unlike":"Xa non me gusta"},"he_IL":{"fb_composer_lessons":"\u05d0\u05d9\u05dc\u05d5 \u05dc\u05e7\u05d7\u05d9\u05dd \u05d1\u05d9\u05d3\u05d9\u05d3\u05d5\u05ea \u05dc\u05de\u05d3\u05ea \u05d4\u05d9\u05d5\u05dd?","sniff_comment_tooltip_like":"\u05d0\u05d5\u05d4\u05d1 \u05d0\u05ea \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4","sniff_comment_tooltip_unlike":"\u05dc\u05d0 \u05d0\u05d4\u05d1\/\u05d4 \u05d0\u05ea \u05ea\u05d2\u05d5\u05d1\u05d4 \u05d6\u05d5","close":"\u05e1\u05d2\u05d5\u05e8"},"hi_IN":{"sniff_comment_tooltip_like":"\u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902","sniff_comment_tooltip_unlike":"\u0907\u0938 \u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u0915\u094b \u0928\u093e\u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902"},"hr_HR":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se"},"hu_HU":{"fb_composer_lessons":"Mit tanult\u00e1l ma a bar\u00e1ts\u00e1gr\u00f3l?","sniff_comment_tooltip_like":"Tetszik a bejegyz\u00e9s.","sniff_comment_tooltip_unlike":"M\u00e9gsem tetszik","close":"Bez\u00e1r\u00e1s"},"hy_AM":{"sniff_comment_tooltip_like":"\u0540\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568","sniff_comment_tooltip_unlike":"\u0549\u0570\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568"},"id_ID":{"fb_composer_lessons":"Apa pelajaran yang kalian dapat tentang persahabatan hari ini?","sniff_comment_tooltip_like":"Suka komentar ini","sniff_comment_tooltip_unlike":"Tidak suka komentar ini","close":"Tutup"},"is_IS":{"sniff_comment_tooltip_like":"L\u00edkar vi\u00f0 \u00feessi umm\u00e6li","sniff_comment_tooltip_unlike":"L\u00edka ekki vi\u00f0 \u00feessi umm\u00e6li"},"it_IT":{"fb_composer_lessons":"Che cosa hai imparato oggi sull'amicizia?","sniff_comment_tooltip_like":"Di' che ti piace questo commento","sniff_comment_tooltip_unlike":"Di' che non ti piace pi\u00f9 questo commento","close":"Chiudi"},"ja_JP":{"fb_composer_lessons":"\u4eca\u65e5\u306f\u53cb\u60c5\u306b\u3069\u306e\u3088\u3046\u306a\u6559\u8a13\u3092\u5b66\u3073\u307e\u3057\u305f\u304b\uff1f","sniff_comment_tooltip_like":"\u3053\u306e\u30b3\u30e1\u30f3\u30c8\u306f\u3044\u3044\u306d\uff01","sniff_comment_tooltip_unlike":"\u3044\u3044\u306d\uff01\u3092\u53d6\u308a\u6d88\u3059","close":"\u9589\u3058\u308b"},"ka_GE":{"sniff_comment_tooltip_like":"\u10db\u10dd\u10d8\u10ec\u10dd\u10dc\u10d4 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8","sniff_comment_tooltip_unlike":"\u10d0\u10e6\u10d0\u10e0 \u10db\u10dd\u10db\u10ec\u10dd\u10dc\u10e1 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8"},"km_KH":{"sniff_comment_tooltip_like":"\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f \u179c\u17b7\u1785\u17b6\u179a \u1793\u17c1\u17c7","sniff_comment_tooltip_unlike":"\u179b\u17c2\u1784\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f\u1798\u178f\u17b7\u1793\u17c1\u17c7"},"ko_KR":{"fb_composer_lessons":"\uc6b0\uc815\uc5d0 \uad00\ud574\uc11c \uc624\ub298 \ubb34\uc5c7\uc744 \ubc30\uc6e0\ub098\uc694?","sniff_comment_tooltip_like":"\uc88b\uc544\uc694","sniff_comment_tooltip_unlike":"\uc88b\uc544\uc694 \ucde8\uc18c","close":"\ub2eb\uae30"},"ku_TR":{"sniff_comment_tooltip_like":"V\u00ea \u015f\u00eerovey\u00ea biecib\u00eene","sniff_comment_tooltip_unlike":"V\u00ea \u015firovey\u00ea neecib\u00eene"},"la_VA":[],"lt_LT":{"fb_composer_lessons":"Kokias \u017einias apie draugyst\u0119 i\u0161mokote \u0161iandien?","sniff_comment_tooltip_like":"Patinka \u0161is komentaras","sniff_comment_tooltip_unlike":"Nepatinka \u0161is komentaras","close":"U\u017edaryti"},"lv_LV":{"sniff_comment_tooltip_unlike":"Koment\u0101rs vairs nepat\u012bk"},"mk_MK":{"fb_composer_lessons":"\u041a\u043e\u0438 \u043b\u0435\u043a\u0446\u0438\u0438 \u0437\u0430 \u043f\u0440\u0438\u0458\u0430\u0442\u0435\u043b\u0441\u0442\u0432\u043e\u0442\u043e \u0434\u043e\u0437\u043d\u0430\u0432\u0442\u0435 \u0434\u0435\u043d\u0435\u0441?","sniff_comment_tooltip_like":"\u041c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u043e\u0432","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"ml_IN":{"sniff_comment_tooltip_like":"\u0d08 \u0d05\u0d2d\u0d3f\u0d2a\u0d4d\u0d30\u0d3e\u0d2f\u0d02 \u0d07\u0d37\u0d4d\u0d1f\u0d2e\u0d3e\u0d2f\u0d3f"},"ms_MY":{"fb_composer_lessons":"Apakah pelajaran tentang persahabatan yang telah anda pelajari hari ini?","fb_comment_box":"Tuliskan surat persahabatan...","fb_composer_ponies":"Kuda!","fb_composer_ponies_caps":"KUDA!!!","sniff_comment_tooltip_like":"Suka komen ini","sniff_comment_tooltip_unlike":"Tidak suka komen ini","close":"Tutup","options_title":"Opsyen Ponyhoof"},"nb_NO":{"sniff_comment_tooltip_like":"Lik denne kommentaren"},"ne_NP":[],"nl_NL":{"fb_composer_lessons":"Wat heb je vandaag geleerd over vriendschap?","sniff_comment_tooltip_like":"Leuke reactie","sniff_comment_tooltip_unlike":"Reactie niet meer leuk","close":"Sluiten"},"pa_IN":{"sniff_comment_tooltip_like":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b","sniff_comment_tooltip_unlike":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a28\u0a3e\u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b|"},"pl_PL":{"fb_composer_lessons":"Czego si\u0119 dzisiaj nauczy\u0142e\u015b o przyja\u017ani?","sniff_comment_tooltip_like":"Polub komentarz","sniff_comment_tooltip_unlike":"Nie lubi\u0119 tego komentarza","close":"Zamknij"},"ps_AF":[],"pt_BR":{"fb_composer_lessons":"Quais li\u00e7\u00f5es sobre amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Curtir este coment\u00e1rio","sniff_comment_tooltip_unlike":"Curtir (desfazer) este coment\u00e1rio","close":"Fechar"},"pt_PT":{"fb_composer_lessons":"Que li\u00e7\u00f5es de amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Gosto deste coment\u00e1rio","sniff_comment_tooltip_unlike":"N\u00e3o gosto deste coment\u00e1rio","close":"Fechar"},"ro_RO":{"fb_composer_lessons":"Ce lec\u0163ii despre prietenie ai \u00eenv\u0103\u0163at ast\u0103zi?","sniff_comment_tooltip_like":"\u00cemi place acest comentariu","sniff_comment_tooltip_unlike":"Nu-mi mai place acest comentariu","close":"\u00cenchide"},"ru_RU":{"fb_composer_lessons":"\u041a\u0430\u043a\u0438\u0435 \u0443\u0440\u043e\u043a\u0438 \u0434\u0440\u0443\u0436\u0431\u044b \u0432\u044b \u0432\u044b\u0443\u0447\u0438\u043b\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f?","sniff_comment_tooltip_like":"\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f","close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c"},"sk_SK":{"fb_composer_lessons":"Ak\u00e9 lekcie priate\u013estva si sa nau\u010dil dnes?","sniff_comment_tooltip_like":"P\u00e1\u010di sa mi tento koment\u00e1r","sniff_comment_tooltip_unlike":"Tento koment\u00e1r sa mi u\u017e nep\u00e1\u010di","close":"Zavrie\u0165"},"sl_SI":{"fb_composer_lessons":"Kaj si se o prijateljstvu nau\u010dil\/-a danes?","sniff_comment_tooltip_like":"V\u0161e\u010d mi je","sniff_comment_tooltip_unlike":"Ta komentar mi ni v\u0161e\u010d","close":"Zapri"},"sq_AL":{"sniff_comment_tooltip_like":"P\u00eblqeje k\u00ebt\u00eb koment","sniff_comment_tooltip_unlike":"Mos p\u00eblqe k\u00ebt\u00eb koment"},"sr_RS":{"sniff_comment_tooltip_like":"\u0421\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440.","sniff_comment_tooltip_unlike":"\u041d\u0435 \u0441\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043e\u0432\u0430\u0458 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"sv_SE":{"fb_composer_lessons":"Vilka l\u00e4rdomar i v\u00e4nskap har du l\u00e4rt dig idag?","sniff_comment_tooltip_like":"Gilla den h\u00e4r kommentaren","sniff_comment_tooltip_unlike":"Sluta gilla den h\u00e4r kommentaren","close":"St\u00e4ng"},"sw_KE":[],"ta_IN":{"sniff_comment_tooltip_like":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bc1\u0b95\u0bbf\u0bb1\u0bc7\u0ba9\u0bcd","sniff_comment_tooltip_unlike":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8","close":"\u0e1b\u0e34\u0e14"},"te_IN":{"sniff_comment_tooltip_unlike":"\u0c35\u0c4d\u0c2f\u0c3e\u0c16\u0c4d\u0c2f \u0c28\u0c1a\u0c4d\u0c1a\u0c32\u0c47\u0c26\u0c41"},"th_TH":{"sniff_comment_tooltip_like":"\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49","sniff_comment_tooltip_unlike":"\u0e40\u0e25\u0e34\u0e01\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49"},"tl_PH":{"fb_composer_lessons":"Anong mga aralin sa pagkakaibigan ang natutunan mo ngayon?","sniff_comment_tooltip_like":"Gustuhin ang komentong ito","sniff_comment_tooltip_unlike":"Ayawan ang komentong ito","close":"Isara"},"tr_TR":{"fb_composer_lessons":"Bug\u00fcn arkada\u015fl\u0131kla ilgili neler \u00f6\u011frendin?","sniff_comment_tooltip_like":"Bu yorumu be\u011fen","sniff_comment_tooltip_unlike":"Bu yorumu be\u011fenmekten vazge\u00e7","close":"Kapat"},"uk_UA":{"fb_composer_lessons":"\u042f\u043a\u0456 \u0443\u0440\u043e\u043a\u0438 \u0432 \u0434\u0440\u0443\u0436\u0431\u0456 \u0432\u0438 \u0434\u0456\u0437\u043d\u0430\u043b\u0438\u0441\u044f \u0441\u044c\u043e\u0433\u043e\u0434\u043d\u0456?","sniff_comment_tooltip_like":"\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u0442\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043f\u043e\u0434\u043e\u0431\u0430\u0454\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438"},"vi_VN":{"sniff_comment_tooltip_like":"Th\u00edch b\u00ecnh lu\u1eadn n\u00e0y","sniff_comment_tooltip_unlike":"B\u1ecf th\u00edch b\u00ecnh lu\u1eadn n\u00e0y n\u1eefa"},"zh_CN":{"sniff_comment_tooltip_like":"\u559c\u6b22\u6b64\u8bc4\u8bba","sniff_comment_tooltip_unlike":"\u4e0d\u559c\u6b22\u6b64\u8bc4\u8bba","close":"\u5173\u95ed"},"zh_HK":{"sniff_comment_tooltip_like":"\u5c0d\u9019\u5247\u7559\u8a00\u8b9a\u597d","sniff_comment_tooltip_unlike":"\u53d6\u6d88\u8b9a\u597d"},"zh_TW":{"fb_composer_lessons":"\u4f60\u4eca\u5929\u5f9e\u53cb\u60c5\u88e1\u9762\u5b78\u5230\u4e86\u4ec0\u9ebc\uff1f","sniff_comment_tooltip_like":"\u8aaa\u9019\u5247\u7559\u8a00\u8b9a","sniff_comment_tooltip_unlike":"\u6536\u56de\u8b9a","close":"\u95dc\u9589"}}; - var SOUNDS = {"AUTO":{"name":"(Auto-select)","seperator":true},"_sound\/defaultNotification":{"name":"Casting magic","title":"This will also be used for characters that do not have their own notification sound"},"trixie\/notif":{"name":"Trixie - Watch in awe!"},"dash\/notif":{"name":"Rainbow Dash - Aww yeah!"},"pinkie\/notif2":{"name":"Pinkie Pie - *rimshot*"},"applej\/notif":{"name":"Applejack - Yeehaw!"},"flutter\/notif2":{"name":"Fluttershy - Yay!"},"rarity\/notif":{"name":"Rarity - This is whining!"},"applebloom\/notif":{"name":"Apple Bloom - That'll be four bits"},"bigmac\/notif":{"name":"Big Macintosh - Eeyup"},"colgate\/notif":{"name":"Colgate - Why you don't brush your teeth"},"derpy\/notif":{"name":"Derpy Hooves - I brought you a letter!"},"luna\/notif":{"name":"Luna - Huzzah!"},"_sound\/roidrage_yeah":{"name":"Roid Rage\/Snowflake - YEAH!"},"sweetieb\/notif":{"name":"Sweetie Belle - Oh come on!"},"vinyl\/notif":{"name":"Vinyl Scratch - Yeah!","seperator":true},"twilight\/notif":{"name":"Twilight Sparkle - It's not over yet!"},"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/dash_dundundun":{"name":"Rainbow Dash - DUN DUN DUN"},"_sound\/dash_egghead":{"name":"Rainbow Dash - I'm an egghead"},"_sound\/pinkie_boring":{"name":"Pinkie Pie - Booooring!"},"_sound\/pinkie_gasp":{"name":"Pinkie Pie - *gasp*"},"_sound\/pinkie_partycannon":{"name":"Pinkie Pie - Party cannon"},"_sound\/pinkie_pinkiepiestyle":{"name":"Pinkie Pie - Pinkie Pie style!"},"_sound\/flutter_woohoo":{"name":"Fluttershy - Woo hoo"},"_sound\/rarity_dumbrock":{"name":"Rarity - Dumb rock!"},"_sound\/rarity_itison":{"name":"Rarity - Oh. It. Is. On!"},"_sound\/rarity_wahaha":{"name":"Rarity - Wahaha!"},"_sound\/octavia_nevermess":{"name":"Octavia - Never mess with Octavia"},"_sound\/vinyl_awyeah":{"name":"Vinyl Scratch - Aw yeah!"},"_sound\/vinyl_mybasscannon":{"name":"Vinyl Scratch - My bass cannon!"},"_sound\/vinyl_wubwubwub":{"name":"Vinyl Scratch - Wubwubwub"},"_sound\/vinyl_wubedubdub":{"name":"Vinyl Scratch - Wubedubdub"},"_sound\/vinyl_yougotwubs":{"name":"Vinyl Scratch - You got wubs"}}; - var SOUNDS_CHAT = {"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/chat_boing":{"name":"Boing"}}; - var HTMLCLASS_SETTINGS = ['login_bg', 'disable_animation', 'pinkieproof', 'disable_emoticons']; - var DEFAULTSETTINGS = { - 'theme':CURRENTPONY, - 'login_bg':false, 'customBg':null, //'allowLoginScreen':true, - 'sounds':false, 'soundsFile':'AUTO', 'soundsNotifTypeBlacklist':'', 'soundsVolume':1, 'chatSound':true, 'chatSoundFile':'_sound/grin2', - //'show_messages_other':true, - 'pinkieproof':false, 'forceEnglish':false, 'disable_emoticons':false, 'randomPonies':'', 'costume': '', //'commentBrohoofed':true, - 'disable_animation':false, 'disableDomNodeInserted':false, //'disableCommentBrohoofed':false, - 'customcss':'', 'debug_dominserted_console':false, 'debug_slow_load':false, 'debug_disablelog':false, 'debug_noMutationObserver':false, 'debug_mutationDebug':false, 'debug_exposed':false, 'debug_betaFacebookLinks':false //,'debug_mutationObserver':false, - //'lastVersion':'' - - //'survivedTheNight', 'chatSound1401', 'randomSettingMigrated' - }; - var STACKS_LANG = [{"stack":"pony","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing","findFriendship":"Find Friendship"},{"stack":"chrysalis","people":"changelings","person":"changeling","friend":"prey","friends":"prey","friend_logic":"changeling","friends_logic":"changelings","like":"feed","likes":"feeds","unlike":"unfeed","like_past":"fed on","likes_past":"fed on","liked":"fed on","liked_button":"fed","liking":"feeding","findFriendship":"Find Prey"},{"stack":"villian","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing","findFriendship":"Find Friendship"}]; - var CURRENTSTACK = STACKS_LANG[0]; - var COSTUMESX = {"winterwrapup":{"name":"Winter Wrap Up","characters":["twilight","dash","pinkie","applej","flutter","rarity","derpy"]},"nightmarenight":{"name":"Nightmare Night","characters":["twilight","dash","pinkie","applej","flutter","applebloom","bigmac","derpy","luna","scootaloo","spike","sweetieb","zecora"]},"hearthwarming":{"name":"Hearth's Warming","characters":["twilight","dash","pinkie","applej","flutter","rarity"]},"season3premiere":{"name":"Season 3 Premiere","characters":["twilight","rarity"]},"crystal":{"name":"Crystal Pony","characters":["twilight","dash","pinkie","applej","flutter","rarity","cadance"]},"wedding":{"name":"Canterlot Wedding","characters":["sweetieb"]},"coronation":{"name":"Princess Coronation Dresses","characters":["dash","pinkie","applej","flutter","rarity","cadance"]},"princess":{"name":"Princess Twilight Sparkle","characters":["twilight"]}}; - var SOUNDS_NOTIFTYPE = { - poke: {name:"Nuzzles", type:"poke"} - ,like: {name:"Brohoofs", type:"like"} - ,group_activity: {name:"New posts in herds and tags about you", type:"group_activity"} - ,group_r2j: {name:"Herd join requests", type:"group_r2j"} - ,group_added_to_group: {name:"Herd invites from friends", type:"group_added_to_group"} - ,plan_reminder: {name:"Adventure reminders", type:"plan_reminder"} - ,follow_profile: {name:"New followers", type:"follow_profile"} - //,photo_made_profile_pic: {name:"Made your pony pic his/her profile picture", type:"photo_made_profile_pic"} - ,answers_answered: {name:"New answers on the Facebook Help Center", type:"answers_answered"} - - ,app_invite: {name:"Game/app requests", type:"app_invite"} - ,close_friend_activity: {name:"Posts from Close Friends", type:"close_friend_activity"} - ,notify_me: {name:"Page posts that you subscribed to", type:"notify_me"} - - //,fbpage_presence: {name:"Facebook nagging you to post to your page", type:"fbpage_presence"} - ,fbpage_fan_invite: {name:"Page invites from friends", type:"fbpage_fan_invite"} - ,page_new_likes: {name:"New page brohoofs", type:"page_new_likes"} - //,fbpage_new_message: {name:"New private messages on your page", type:"fbpage_new_message"} - }; - - var THEMEURL = w.location.protocol + '//hoof.little.my/files/'; - var THEMECSS = THEMEURL+''; - var THEMECSS_EXT = '.css?userscript_version='+VERSION; - var UPDATEURL = w.location.protocol + '//hoof.little.my/files/update_check.js?' + (+new Date()); - - var PONYHOOF_PAGE = '197956210325433'; - var PONYHOOF_URL = '//'+getFbDomain()+'/Ponyhoof'; - var PONYHOOF_README = '//hoof.little.my/files/_welcome/readme.htm?version='+VERSION+'&distribution='+DISTRIBUTION; - - var _ext_messageId = 0; - var _ext_messageCallback = {}; - - // Chrome - var chrome_sendMessage = function(message, callback) { - try { - if (chrome.extension.sendMessage) { - chrome.extension.sendMessage(message, callback); - } else { - chrome.extension.sendRequest(message, callback); - } - } catch (e) { - if (e.toString().indexOf('Error: Error connecting to extension ') === 0) { - extUpdatedError(e.toString()); - } - throw e; - } - }; - - var chrome_storageFallback = false; - var chrome_getValue = function(name, callback) { - if (chrome.storage && !chrome_storageFallback) { - if (chrome_isExtUpdated()) { - extUpdatedError("[chrome_getValue("+name+")]"); - callback(null); - return; - } - - chrome.storage.local.get(name, function(item) { - if (chrome.runtime && chrome.runtime.lastError) { - // Fallback to old storage method - chrome_storageFallback = true; - chrome_getValue(name, callback); - return; - } - - if (Object.keys(item).length === 0) { - callback(null); - return; - } - callback(item[name]); - }); - return; - } - - try { - chrome_sendMessage({'command':'getValue', 'name':name}, function(response) { - if (response && typeof response.val != 'undefined') { - callback(response.val); - } else { - callback(null); - } - }); - } catch (e) { - dir(e); - getValueError(e); - callback(null); - } - }; - - var chrome_setValue = function(name, val) { - if (chrome.storage && !chrome_storageFallback) { - if (chrome_isExtUpdated()) { - extUpdatedError("[chrome_setValue("+name+")]"); - return; - } - - var toSet = {}; - toSet[name] = val; - chrome.storage.local.set(toSet, function() { - if (chrome.runtime && chrome.runtime.lastError) { - saveValueError(chrome.runtime.lastError); - return; - } - }); - return; - } - - chrome_sendMessage({'command':'setValue', 'name':name, 'val':val}, function() {}); - }; - - var chrome_clearStorage = function() { - if (chrome.storage) { - chrome.storage.local.clear(); - } - chrome_sendMessage({'command':'clearStorage'}, function() {}); - }; - - var chrome_ajax = function(details) { - chrome_sendMessage({'command': 'ajax', 'details': details}, function(response) { - if (response && response.val === 'success') { - if (details.onload) { - details.onload(response.request); - } - } else { - if (details.onerror) { - details.onerror(response.request); - } - } - }); - }; - - var chrome_isExtUpdated = function() { - return (typeof chrome.i18n === 'undefined' || typeof chrome.i18n.getMessage('@@extension_id') === 'undefined'); - }; - - if (ISOPERA) { - if (opera.extension) { - opera.extension.onmessage = function(message) { - if (message.data) { - var response = message.data; - var callback = _ext_messageCallback[response.messageid]; - if (callback) { - callback(response.val); - } - } - } - } - - var opera_getValue = function(name, callback) { - _ext_messageCallback[_ext_messageId] = callback; - opera.extension.postMessage({'command':'getValue', 'messageid':_ext_messageId, 'name':name}); - _ext_messageId += 1; - }; - - var opera_setValue = function(name, val) { - opera.extension.postMessage({'command':'setValue', 'name':name, 'val':val}); - }; - - var opera_clearStorage = function() { - opera.extension.postMessage({'command':'clearStorage'}); - }; - - var opera_ajax = function(details) { - _ext_messageCallback[_ext_messageId] = function(response) { - if (response.val == 'success') { - if (details.onload) { - details.onload(response.request); - } - } else { - if (details.onerror) { - details.onerror(response.request); - } - } - }; - var detailsX = { - 'method': details.method - ,'url': details.url - ,'headers': details.headers - ,'data': details.data - }; - opera.extension.postMessage({'command':'ajax', 'messageid':_ext_messageId, 'details':detailsX}); - _ext_messageId += 1; - }; - } - - if (ISSAFARI) { - if (typeof safari != 'undefined') { - safari.self.addEventListener('message', function(message) { - var data = message.message; - if (data) { - var response = data; - var callback = _ext_messageCallback[message.name]; - if (callback) { - callback(response.val); - } - } - }); - } - - var safari_getValue = function(name, callback) { - _ext_messageId = md5(Math.random().toString()); // safari, you don't know what's message passing/callbacks, do you? - _ext_messageCallback[_ext_messageId] = callback; - safari.self.tab.dispatchMessage('getValue', {'messageid':_ext_messageId, 'name':name}); - //_ext_messageId += 1; - }; - - var safari_setValue = function(name, val) { - safari.self.tab.dispatchMessage('setValue', {'name':name, 'val':val}); - }; - - var safari_clearStorage = function() { - safari.self.tab.dispatchMessage('clearStorage', {}); - }; - - var safari_ajax = function(details) { - _ext_messageId = md5(Math.random().toString()); - _ext_messageCallback[_ext_messageId] = function(response) { - if (response.val == 'success') { - if (details.onload) { - details.onload(response.request); - } - } else { - if (details.onerror) { - details.onerror(response.request); - } - } - }; - var detailsX = { - 'method': details.method - ,'url': details.url - ,'headers': details.headers - ,'data': details.data - }; - safari.self.tab.dispatchMessage('ajax', {'messageid':_ext_messageId, 'details':detailsX}); - //_ext_messageId += 1; - }; - } - - if (typeof self != 'undefined' && typeof self.on != 'undefined') { - self.on('message', function(message) { - var data = message; - if (data) { - var response = data; - var callback = _ext_messageCallback[message.messageid]; - if (callback) { - callback(response.val); - } - } - }); - - var xpi_getValue = function(name, callback) { - _ext_messageCallback[_ext_messageId] = callback; - self.postMessage({'command':'getValue', 'messageid':_ext_messageId, 'name':name}); - _ext_messageId += 1; - }; - - var xpi_setValue = function(name, val) { - self.postMessage({'command':'setValue', 'name':name, 'val':val}); - }; - - var xpi_clearStorage = function() { - self.postMessage({'command':'clearStorage'}); - }; - - var xpi_ajax = function(details) { - _ext_messageCallback[_ext_messageId] = function(response) { - if (response.val == 'success') { - if (details.onload) { - details.onload(response.request); - } - } else { - if (details.onerror) { - details.onerror(response.request); - } - } - }; - var detailsX = { - 'method': details.method - ,'url': details.url - ,'headers': details.headers - ,'data': details.data - }; - self.postMessage({'command':'ajax', 'messageid':_ext_messageId, 'details':detailsX}); - _ext_messageId += 1; - }; - - var xpi_sendMessage = function(message, callback) { - _ext_messageCallback[_ext_messageId] = callback; - message.messageid = _ext_messageId; - self.postMessage(message); - _ext_messageId += 1; - }; - } - - if (typeof w.external != 'undefined' && typeof w.external.mxGetRuntime != 'undefined') { - var maxthonRuntime = w.external.mxGetRuntime(); - maxthonRuntime.listen('messageContentScript', function(message) { - var data = message; - if (data) { - var response = data; - var callback = _ext_messageCallback[message.messageid]; - if (callback) { - callback(response.val); - } - } - }); - - var mxaddon_getValue = function(name, callback) { - try { - callback(maxthonRuntime.storage.getConfig(name)); - } catch (e) { - if (e.message && e.message === 'No LocalStorage Service Extension! (206)') { - extUpdatedError(e.message); - } - throw e; - } - }; - - var mxaddon_setValue = function(name, val) { - try { - maxthonRuntime.storage.setConfig(name, val); - } catch (e) { - if (e.message && e.message === 'No LocalStorage Service Extension! (206)') { - extUpdatedError(e.message); - } - throw e; - } - }; - - var mxaddon_clearStorage = function() { - // Maxthon does not have a clear storage function - }; - - var mxaddon_ajax = function(details) { - _ext_messageCallback[_ext_messageId] = function(response) { - if (response.val == 'success') { - if (details.onload) { - details.onload(response.request); - } - } else { - if (details.onerror) { - details.onerror(response.request); - } - } - }; - var detailsX = { - 'method': details.method - ,'url': details.url - ,'headers': details.headers - ,'data': details.data - }; - try { - maxthonRuntime.post('messageBackground', {'command':'ajax', 'messageid':_ext_messageId, 'details':detailsX}); - } catch (e) { - if (e.message && e.message === 'No Platform_Message Service Extension! (355)') { - extUpdatedError(e.message); - } - throw e; - } - _ext_messageId += 1; - }; - } - - function ajax(obj) { - switch (STORAGEMETHOD) { - case 'greasemonkey': - return GM_xmlhttpRequest(obj); - - case 'chrome': - return chrome_ajax(obj); - - case 'opera': - return opera_ajax(obj); - - case 'safari': - return safari_ajax(obj); - - case 'xpi': - return xpi_ajax(obj); - - case 'mxaddon': - return mxaddon_ajax(obj); - - default: - break; - } - - throw { - responseXML:'' - ,responseText:'' - ,readyState:4 - ,responseHeaders:'' - ,status:-100 - ,statusText:'No GM_xmlhttpRequest support' - }; - } - - function isPonyhoofPage(id) { - if (id == PONYHOOF_PAGE) { - return true; - } - return false; - } - - function capitaliseFirstLetter(string) { - return string.charAt(0).toUpperCase() + string.slice(1); - } - - // Settings - for (var i in HTMLCLASS_SETTINGS) { - if (!DEFAULTSETTINGS[HTMLCLASS_SETTINGS[i]]) { - DEFAULTSETTINGS[HTMLCLASS_SETTINGS[i]] = false; - } - } - //DEFAULTSETTINGS.show_messages_other = true; - if (ISMOBILE) { - DEFAULTSETTINGS.disable_animation = true; - } - - function getValueError(extra) { - if (chrome_isExtUpdatedError(extra)) { - extUpdatedError(extra); - } else { - createSimpleDialog('localStorageError_getValue', "Ponyhoof derp'd", "Whoops, Ponyhoof can't load your settings. Please try again later.

If you keep seeing this error, please update to the latest version of Ponyhoof if available and visit and post to the Ponyhoof page for help.

"+extra+""); - } - - trace(); - } - - function saveValueError(extra) { - var desc = "Whoops, Ponyhoof can't save your settings. Please try again later."; - if (ISFIREFOX && STORAGEMETHOD === 'greasemonkey' && userSettings.customBg) { - desc += "

This may be caused by a large custom background that you have set. Please try removing it."; - } - desc += "

If you keep seeing this error, please update to the latest version of Ponyhoof if available and visit and post to the Ponyhoof page for help.

"+extra+""; - createSimpleDialog('localStorageError_saveValue', "Ponyhoof derp'd", desc); - - trace(); - } - - function ponyhoofError(extra) { - createSimpleDialog('ponyhoofError', "Ponyhoof derp'd", "Whoops, Ponyhoof encountered an internal error. Please try again later.

If you keep seeing this error, please update to the latest version of Ponyhoof if available and visit and post to the Ponyhoof page for help.

"+extra+""); - - trace(); - } - - var chrome_isExtUpdatedError = function(message) { - var a = 'ModuleSystem has been deleted'; - var b = 'TypeError: Cannot read property \'sendMessage\' of undefined'; - return (message === a || message === b); - }; - - var extUpdatedError = function(extra) { - createSimpleDialog('localStorageError_extUpdatedError', "Ponyhoof derp'd", "Ponyhoof has been updated/disabled recently. Please reload the page in order for Ponyhoof to work properly.

"+extra+""); - }; - - function getValue(name, callback) { - switch (STORAGEMETHOD) { - case 'greasemonkey': - callback(GM_getValue(name)); - break; - - case 'chrome': - chrome_getValue(name, callback); - break; - - case 'opera': - opera_getValue(name, callback); - break; - - case 'safari': - safari_getValue(name, callback); - break; - - case 'xpi': - xpi_getValue(name, callback); - break; - - case 'mxaddon': - mxaddon_getValue(name, callback); - break; - - case 'localstorage': - default: - name = 'ponyhoof_'+name; - callback(w.localStorage.getItem(name)); - break; - } - } - - function saveValue(name, v) { - switch (STORAGEMETHOD) { - case 'greasemonkey': - GM_setValue(name, v); - break; - - case 'chrome': - chrome_setValue(name, v); - break; - - case 'opera': - opera_setValue(name, v); - break; - - case 'safari': - safari_setValue(name, v); - break; - - case 'xpi': - xpi_setValue(name, v); - break; - - case 'mxaddon': - mxaddon_setValue(name, v); - break; - - case 'localstorage': - default: - name = 'ponyhoof_'+name; - w.localStorage.setItem(name, v); - break; - } - } - - function loadSettings(callback, opts) { - // opts => prefix, defaultsettings - var opts = opts || {prefix:null}; - var settingsKey = 'settings'; - if (opts.prefix != null) { - settingsKey = opts.prefix+settingsKey; - } else { - settingsKey = SETTINGSPREFIX+settingsKey; - } - if (!opts.defaultSettings) { - opts.defaultSettings = DEFAULTSETTINGS; - } - - try { - getValue(settingsKey, function(s) { - if (s) { - s = JSON.parse(s); - if (!s) { - s = {}; - } - } else { - s = {}; - } - for (var i in opts.defaultSettings) { - if (!s.hasOwnProperty(i)) { - s[i] = opts.defaultSettings[i]; - } - } - callback(s); - }); - } catch (e) { - dir(e); - - var extra = ''; - if (e.message) { - extra = e.message; - } else { - extra = e.toString(); - } - try { - getValueError(extra); - } catch (e) { - onPageReady(function() { - if (d.body) { - getValueError(extra); - } - }); - } - callback(); - return false; - } - } - - function saveSettings(opts) { - // opts => prefix, settings - var opts = opts || {prefix:null, settings:userSettings}; - var settingsKey = 'settings'; - if (opts.prefix != null) { - settingsKey = opts.prefix+settingsKey; - } else { - settingsKey = SETTINGSPREFIX+settingsKey; - } - var settings = userSettings; - if (opts.settings) { - settings = opts.settings; - } - - try { - saveValue(settingsKey, JSON.stringify(settings)); - return true; - } catch (e) { - dir(e); - - var extra = ''; - if (e.message) { - if (e.message == 'ModuleSystem has been deleted' || e.message == 'TypeError: Cannot read property \'sendMessage\' of undefined') { - extUpdatedError(e.message); - callback(); - return; - } - - extra = e.message; - } else { - extra = e.toString(); - } - saveValueError(extra); - return false; - } - } - - var saveGlobalSettings = function() { - saveSettings({prefix:'global_', settings:globalSettings}); - }; - - function statTrack(stat) { - var i = d.createElement('iframe'); - i.style.position = 'absolute'; - i.style.top = '-9999px'; - i.style.left = '-9999px'; - i.setAttribute('aria-hidden', 'true'); - i.src = '//hoof.little.my/files/_htm/stat_'+stat+'.htm?version='+VERSION; - d.body.appendChild(i); - } - - var canPlayFlash = function() { - return !!w.navigator.mimeTypes['application/x-shockwave-flash']; - }; - - // Pony selector - var PonySelector = function(p, param) { - var k = this; - - if (param) { - k.param = param; - } else { - k.param = {}; - } - k.p = p; - k.wrap = null; - k.button = null; - - k.oldPony = CURRENTPONY; - k.customClick = function() {}; - k.customCheckCondition = false; - k.overrideClickAction = false; - k.saveTheme = true; - - k.menu = null; - k.createSelector = function() { - if (k.menu) { - return k.menu; - } - - k.injectStyle(); - - var currentPonyData = convertCodeToData(CURRENTPONY); - var name = "(Nopony)"; - if (currentPonyData) { - name = currentPonyData.name; - } else if (CURRENTPONY == 'RANDOM') { - name = "(Random)"; - } - - var iu = INTERNALUPDATE; - INTERNALUPDATE = true; - - k.menu = new Menu('ponies_'+p.id, k.p/*, {checkable:true}*/); - k.button = k.menu.createButton(name); - k.menu.alwaysOverflow = true; - k.menu.searchNoResultsMessage = "No ponies :("; - k.menu.createMenu(); - k.menu.attachButton(); - - if (k.allowRandom) { - var check = false; - if (CURRENTPONY == 'RANDOM') { - check = true; - } - - k.menu.createMenuItem({ - html: "(Random)" - ,title: "To choose which characters to randomize, go to the Misc tab" - ,check: check - ,unsearchable: true - ,onclick: function(menuItem, menuClass) { - CURRENTPONY = 'RANDOM'; - - changeThemeSmart('RANDOM'); - if (k.saveTheme) { - userSettings.theme = 'RANDOM'; - saveSettings(); - } - - menuClass.changeButtonText("(Random)"); - menuClass.changeChecked(menuItem); - menuClass.close(); - - if (k.customClick) { - k.customClick(menuItem, menuClass); - } - } - }); - } - - if (k.allowRandom) { - k.menu.createSeperator(); - } - - if (k.param.feature && k.param.feature != -1) { - k._createItem(PONIES[k.param.feature], true); - k.menu.createSeperator(); - } - - for (var i = 0, len = PONIES.length; i < len; i += 1) { - if (k.param.feature && k.param.feature != -1 && PONIES[k.param.feature].code == PONIES[i].code) { - if (PONIES[i].seperator) { - k.menu.createSeperator(); - } - continue; - } - - var check = false; - if (k.customCheckCondition) { - if (k.customCheckCondition(PONIES[i].code)) { - check = true; - } - } else { - if (PONIES[i].code == CURRENTPONY) { - check = true; - } - } - - k._createItem(PONIES[i], check); - - if (PONIES[i].seperator) { - k.menu.createSeperator(); - } - } - - var img = d.createElement('span'); - img.className = 'ponyhoof_loading ponyhoof_show_if_injected ponyhoof_loading_pony'; - k.menu.wrap.appendChild(img); - - INTERNALUPDATE = iu; - }; - - k._createItem = function(ponyData, check) { - var unsearchable = false; - if (ponyData.hidden) { - unsearchable = true; - } - var menuItem = k.menu.createMenuItem({ - html: ponyData.name - ,title: ponyData.menu_title - ,data: ponyData.code - ,check: check - ,unsearchable: unsearchable - ,searchAlternate: ponyData.search - ,onclick: function(menuItem, menuClass) { - if (!k.overrideClickAction) { - var code = ponyData.code; - CURRENTPONY = code; - - changeThemeSmart(code); - if (k.saveTheme) { - userSettings.theme = code; - saveSettings(); - } - - menuClass.changeButtonText(ponyData.name); - menuClass.changeChecked(menuItem); - menuClass.close(); - } - - if (k.customClick) { - k.customClick(menuItem, menuClass); - } - } - }); - if (ponyData.hidden) { - addClass(menuItem.menuItem, 'ponyhoof_pony_hidden'); - } - }; - - k.injectStyle = function() { - var css = ''; - css += 'html .ponyhoof_pony_hidden {display:none;}'; - for (var i = 0, len = PONIES.length; i < len; i += 1) { - if (PONIES[i].color) { - css += 'html .ponyhoof_menuitem[data-ponyhoof-menu-data="'+PONIES[i].code+'"]:hover, html .ponyhoof_menuitem[data-ponyhoof-menu-data="'+PONIES[i].code+'"]:active, html .ponyhoof_menuitem[data-ponyhoof-menu-data="'+PONIES[i].code+'"]:focus {background-color:#'+PONIES[i].color[0]+' !important;border-top-color:#'+PONIES[i].color[1]+' !important;border-bottom-color:#'+PONIES[i].color[1]+' !important;}'; - } - } - - injectManualStyle(css, 'ponySelector'); - }; - }; - - // Sounds - var _soundCache = {}; - var PonySound = function(id) { - var k = this; - k.id = id; - - k.sound = d.createElement('audio'); - - // Don't loop sounds for 3 seconds - k.wait = 3; - k.respectSettings = true; - k.respectVolumeSetting = true; - - k._time = 0; - - k.source = ''; - k.changeSource = function(source) { - k.source = source; - }; - - k.changeSourceSmart = function(source) { - if (k.canPlayMp3()) { - source = source.replace(/\.EXT/, '.mp3'); - } else if (k.canPlayOgg()) { - source = source.replace(/\.EXT/, '.ogg'); - } else { - throw new Error("No supported audio formats"); - } - - k.changeSource(source); - }; - - k.play = function() { - if (k.respectSettings) { - if (!userSettings.sounds) { - return; - } - } - - if (STORAGEMETHOD === 'chrome' && chrome_isExtUpdated()) { - extUpdatedError("PonySound.play()"); - return; - } - - if (k.wait == 0) { - k.continuePlaying(); - return; - } - - // Make sure we aren't playing it on another page already - k._time = Math.floor(Date.now() / 1000); - - //try { - getValue(SETTINGSPREFIX+'soundCache', function(s) { - if (typeof s != 'undefined') { - try { - _soundCache = JSON.parse(s); - } catch (e) { - _soundCache = {}; - } - - if (_soundCache == null) { - _soundCache = {}; - } - - if (_soundCache[k.id]) { - if (_soundCache[k.id]+k.wait <= k._time) { - } else { - return; - } - } - } - - k.continuePlaying(); - }); - //} catch (e) { - // k.continuePlaying(); - //} - }; - - k.continuePlaying = function() { - if (k.wait) { - _soundCache[k.id] = k._time; - saveValue(SETTINGSPREFIX+'soundCache', JSON.stringify(_soundCache)); - } - - if (k.respectVolumeSetting) { - k.sound.volume = userSettings.soundsVolume; - } - k.sound.src = k.source; - k.sound.play(); - }; - - // http://html5doctor.com/native-audio-in-the-browser/ - k.audioTagSupported = function() { - return !!(k.sound.canPlayType); - }; - - k.canPlayMp3 = function() { - return !!k.sound.canPlayType && '' != k.sound.canPlayType('audio/mpeg'); - }; - - k.canPlayOgg = function() { - return !!k.sound.canPlayType && '' != k.sound.canPlayType('audio/ogg; codecs="vorbis"'); - }; - }; - - var ponySounds = {}; - function initPonySound(id, source) { - var source = source || ''; - - if (ponySounds[id]) { - if (source) { - ponySounds[id].changeSourceSmart(source); - } - - return ponySounds[id]; - } - - var sound = new PonySound(id); - - if (!sound.audioTagSupported()) { - throw new Error('No