({milliseconds: new Date(),interval: 10,checking: true,ik: null,at: null,amaposition: 0,globals: null,account: null,request: {url: new Array(),account: new Array(),id: new Array(),complete: new Array()},setting: {interval: 10,text: true,time: true,startup: true,donationlink: true,reporterror: true,template: 0},el: {header: null,body: document.createElement('span'),pop3: document.createElement('a'),settingsLink: document.createElement('a'),donationPane: document.createElement('span'),donationLink: document.createElement('a'),settingsPane: document.createElement('span'),refreshLink: null},init: function () {o.core.milliseconds = Date.UTC(o.core.milliseconds.getYear(),o.core.milliseconds.getMonth(),o.core.milliseconds.getDate(),o.core.milliseconds.getHours(),o.core.milliseconds.getMinutes(),o.core.milliseconds.getSeconds());o.core.el.pop3.setAttribute('title','POP3 Accounts Now');o.core.el.settingsLink.setAttribute('title','POP3 Settings');/* Google+ with black bar added on 2/11/2012 */if ((document.getElementById('gbx3') || document.getElementById('gbx4')) && !document.getElementById('gbgs5')) {console.log('Google+ with black bar added on 2/11/2012');o.core.setting.template = 5;var wrapper = document.createElement('div');o.core.el.header = document.getElementById('gbx4') || document.getElementById('gbx3');wrapper.style.fontSize = '13px';wrapper.style.float = 'right';wrapper.style.width = 'auto';wrapper.style.zIndex = '9999';wrapper.style.textAlign = 'right';wrapper.style.color = '#FFF';wrapper.style.marginTop = '-2px';wrapper.style.marginRight = '6px';wrapper.style.fontWeight = 'bold';/* TODO: temporary */wrapper.style.whiteSpace = 'no-wrap';/* black Google+ strip has the email in it *//*if (document.getElementById('gbgs5') && document.getElementById('gb')) {if (navigator.userAgent.indexOf('Firefox') != -1) {wrapper.style.position = 'absolute';wrapper.style.left = '606px';o.core.el.body.style.position = 'relative';o.core.el.body.style.top = '0';o.core.el.body.style.left = '10px';}o.core.el.body.style.backgroundColor = '#000';o.core.el.body.style.border = '1px solid #999';o.core.el.body.style.borderRadius = '3px';wrapper.style.marginTop = '38px';o.core.el.body.style.padding = '6px 8px';wrapper.style.marginRight = '17px';} else {}*/wrapper.appendChild(o.core.el.body);o.core.el.header.appendChild(wrapper);o.core.el.settingsLink.style.color = '#FAD163';o.core.el.pop3.style.cursor = 'pointer';o.core.el.settingsLink.style.textDecoration = 'none';} else if (document.getElementById('gbwa')) {console.log('Banner top added on 10/13/2013');o.core.setting.template = 7;o.core.el.header = document.getElementById('gb').parentNode;o.core.el.header = o.core.el.header.getElementsByTagName('div')[0].getElementsByTagName('div')[0].getElementsByTagName('div')[0];o.core.el.header.style.minWidth = '450px';o.core.el.body.style.cursor = 'pointer';o.core.el.settingsLink.style.textDecoration = 'none';o.core.el.settingsLink.style.color = '#d64a38';var tempNode = document.createElement('div');o.core.el.body.style.background = '#FFF';o.core.el.body.style.color = '#000';o.core.el.body.style.borderRadius = '2px';o.core.el.body.style.padding = '7px 14px';tempNode.style.marginLeft = '1em';tempNode.style.verticalAlign = 'middle';tempNode.appendChild(o.core.el.body);o.core.el.header.appendChild(tempNode);o.core.updateDisplay();/* Banner top added on 11/30/2011 */} else if (document.getElementById('gbqfw') || document.getElementById('gb') && document.getElementById('gb').getAttribute('class') && (document.getElementById('gb').getAttribute('class').match(/gbes/gi) || document.getElementById('gb').getAttribute('class').match(/gbem/gi))) {console.log('Banner top added on 11/30/2011');o.core.setting.template = 4;o.core.el.header = document.getElementById('gb'); /*document.getElementById('gb').parentNode.parentNode.parentNode.parentNode;*/o.core.el.settingsLink.style.textDecoration = 'none';o.core.el.pop3.style.padding = '0 0 0 6px';o.core.el.pop3.style.display = 'inline-block';var t1 = document.createElement('li');var t2 = document.createElement('a');t1.style.display = 'inline-block';t1.style.width = '1px';t2.style.width = '1px';t2.style.display = 'inline-block';t1.appendChild(t2);t2.appendChild(o.core.el.body);o.core.el.body.style.textAlign = 'right';o.core.el.body.style.width = '1px';o.core.el.body = t1;o.core.el.body.style.display = 'inline-block';o.core.el.body.style.width = 'auto';o.core.el.body.style.position = 'absolute';o.core.el.body.style.zIndex = '99999';/* TODO: temporary */o.core.el.body.style.whiteSpace = 'no-wrap';/* Google+ bar */if (document.getElementById('gbi4t')) {console.log('Google+ bar');document.getElementById('gbi4t').style.marginTop = '-8px';o.core.el.body.style.left = 'auto'; /* this simply prevents ghost padding on the left of the counter */o.core.el.body.style.right = '166px'; /* this is what actually moves the element to the left of the settings dropdown */o.core.el.body.style.top = '24px';/* Not Google+ */} else if (document.getElementById('gbgs4d')) {console.log('Not Google+');document.getElementById('gbgs4d').style.marginTop = '-8px';o.core.el.body.style.top = '24px';o.core.el.body.style.left = 'auto'; /* this simply prevents ghost padding on the left of the counter */o.core.el.body.style.right = '10px'; /* this is what actually moves the element to the left of the settings dropdown */o.core.setting.template = 3;/*} else {console.log('New google banner added 9/20/2013');var wrapper = document.getElementById(':hq');if (wrapper) {o.core.el.header = document.createElement('div');wrapper.parentNode.insertBefore(o.core.el.header, wrapper);o.core.el.body.style.position = 'static';o.core.setting.template = 6;}*/}o.core.el.body.style.padding = '0';o.core.el.body.style.textAlign = 'right';o.core.el.header.appendChild(o.core.el.body);o.core.el.donationLink.style.marginLeft = '4px';/* new banner top (Google+) */} else if (document.getElementById('ogb-settings')) {console.log('new banner top (Google+)');o.core.setting.template = 2;o.core.el.header = document.getElementById('ogb-settings').parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;o.core.el.body.setAttribute('class','gbts');o.core.el.body.style.display = 'inline-block';o.core.el.settingsLink.style.textDecoration = 'none';o.core.el.pop3.style.padding = '0 0 0 6px';o.core.el.pop3.style.display = 'inline-block';var t1 = document.createElement('li');var t2 = document.createElement('a');t1.setAttribute('class','gbt gbgt');t1.style.display = 'inline-block';/* t1.style.borderLeft = '1px solid #EEE'; */t2.setAttribute('class','gbzt gbgt');t2.style.display = 'inline-block';t1.appendChild(t2);t2.appendChild(o.core.el.body);o.core.el.body = t1;o.core.el.header.appendChild(o.core.el.body);o.core.el.donationLink.style.marginLeft = '4px';/* TODO: temporary */o.core.el.body.style.whiteSpace = 'no-wrap';/* old banner top */} else {console.log('old banner top');o.core.setting.template = 1;o.core.el.header = document.body.getElementsByTagName('nobr')[1];/* try to find the Settings link based on the href */var elA = o.core.el.header.getElementsByTagName('a');for (var i=0;i 0) {o.core.timer();}},5000);}},5000);for (var i=0;i 0) {o.core.timer();}o.core.updateDisplay();},5000);} else {o.core.milliseconds = Date.UTC(d.getYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());if (o.core.setting.template < 5) {o.core.el.pop3.setAttribute('class','e gbgt');}if (o.core.setting.text) {o.core.el.pop3.appendChild(document.createTextNode('POP3'));} else {/* empty */}o.core.checking = false;if (o.core.setting.interval > 0) {o.core.timer();}o.core.updateDisplay();}} else {/* all of the pop accounts have not completed yet */}};/* Firefox, or Chrome before version 27.X */if (typeof GM_xmlhttpRequest == 'function') {o.request(o.domain + o.core.request.url[i],responseFunc,'POST');/* Chrome after and including version 27.X */} else {/* we need to keep these xhr things private to their own block. do I love this solution? no */myFunc = function() {var xhr = new XMLHttpRequest();xhr.onreadystatechange = function(e){if (xhr.readyState == this.DONE) {window.setTimeout(function() {responseFunc(xhr)},1);}};xhr.open('POST', (o.domain + o.core.request.url[i]), true);xhr.send();};myFunc();}}o.core.updateDisplay();}},timer: function () {/* is it time to POP3 yet? */var d = new Date();var ms = (Date.UTC(d.getYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds())) - o.core.milliseconds;if (!o.core.checking && o.core.setting.interval > 0 && o.core.milliseconds < (Date.UTC(d.getYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds()))-(o.core.setting.interval*60000)) {o.core.pop();} else if (!o.core.checking) {while (o.core.el.pop3.hasChildNodes()) {o.core.el.pop3.removeChild(o.core.el.pop3.firstChild);};if (o.core.setting.time) {if (o.core.setting.text) {o.core.el.pop3.appendChild(document.createTextNode('POP3 ' + (Math.floor((o.core.setting.interval*60000-ms)/60000)>0?Math.floor((o.core.setting.interval*60000-ms)/60000):'0') + ':' + ((Math.floor((o.core.setting.interval*60000-ms)/1000)%60) < 10?'0':'') + Math.floor((o.core.setting.interval*60000-ms)/1000)%60));} else {o.core.el.pop3.appendChild(document.createTextNode((Math.floor((o.core.setting.interval*60000-ms)/60000)>0?Math.floor((o.core.setting.interval*60000-ms)/60000):'0') + ':' + ((Math.floor((o.core.setting.interval*60000-ms)/1000)%60) < 10?'0':'') + Math.floor((o.core.setting.interval*60000-ms)/1000)%60));}/* Only update the display if the second is 59 (it just switched the minute). This should stop the script from being unresponsive every second. */if ((((Math.floor((o.core.setting.interval*60000-ms)/1000)%60) < 10?'0':'') + Math.floor((o.core.setting.interval*60000-ms)/1000)%60) == 59) {o.core.updateDisplay();}} else if (o.core.setting.text) {o.core.el.pop3.appendChild(document.createTextNode('POP3'));} else {/* empty */}}/* stupid responsive design *//*if (document.getElementById('gb') && document.getElementById('gb').getAttribute('class') && (document.getElementById('gb').getAttribute('class').match(/gbes/gi) || document.getElementById('gb').getAttribute('class').match(/gbem/gi))) {if (document.getElementById('gb').getAttribute('class').match(/gbem/gi)) {o.core.el.body.style.top = '72px';} else {o.core.el.body.style.top = '66px';}}*/if (!o.core.checking) {window.setTimeout(o.core.timer,1000);}},account: function () {var responseFunc = function (r) {var temp = document.createElement('div');temp.innerHTML = r.responseText;temp = temp.getElementsByTagName('script');for(var i=0;i 0) {/* otherwise call just timer() if that setting is set */o.core.timer();if (o.core.setting.template < 5) {o.core.el.pop3.setAttribute('class','e gbgt');}} else {if (o.core.setting.template < 5) {o.core.el.pop3.setAttribute('class','e gbgt');}}}/* we'll do this last in the event it breaks (since it's in beta) */if (o.core.setting.refresh) {/* element button for More Actions has id :pn */var el = document.getElementById(':pn');if (el && el.parentNode && el.parentNode.parentNode) {el = el.parentNode.parentNode;el = el.getElementsByTagName('div');for (var i=0;i