Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var imagesRegExp = /.*\.(png|jpg|gif)$/i;
- var mobileAgents = /android|webos|iphone|ipad|ipod|blackberry|phone/i;
- function initLightbox() {
- var lbFrame = document.createElement('img');
- lbFrame.id = 'lightbox';
- lbFrame.addEventListener('click', function() {
- this.className = '';
- });
- document.body.appendChild(lbFrame);
- var thumbs = document.querySelectorAll('form#delform img.thumb');
- for (var i = 0; i < thumbs.length; i++) {
- if (thumbs[i].parentNode.getAttribute('href').match(imagesRegExp) != null) {
- thumbs[i].parentNode.addEventListener('click', function(evt) {
- lbFrame.setAttribute('src', this.getAttribute('href'));
- lbFrame.className = 'active';
- evt.preventDefault();
- });
- }
- }
- }
- function initThreadHiders() {
- var hiders = document.querySelectorAll('.thread-hider');
- for (var i = 0; i < hiders.length; i++) {
- hiders[i].addEventListener('click', function() {
- hiddenThreads = localStorage.getItem('hiddenThreads') !== null ? JSON.parse(localStorage.getItem('hiddenThreads')) : [];
- var threadElement = this.parentNode;
- var threadLink = threadElement.querySelector('.reflink+a').getAttribute('href');
- var storageIndex = hiddenThreads.indexOf(threadLink);
- if (storageIndex < 0) {
- hiddenThreads.push(threadLink);
- threadElement.className = 'hidden';
- } else {
- hiddenThreads.splice(storageIndex, 1);
- threadElement.className = '';
- }
- localStorage.setItem('hiddenThreads', JSON.stringify(hiddenThreads));
- });
- }
- }
- function hideThreadsOnLoad() {
- var hiddenThreads = localStorage.getItem('hiddenThreads');
- if (hiddenThreads == null) return;
- var threadLinks = document.querySelectorAll('.reflink+a');
- for (var i = 0; i < threadLinks.length; i++) {
- if (hiddenThreads.indexOf(threadLinks[i].getAttribute('href')) >= 0) {
- threadLinks[i].parentNode.className = 'hidden';
- }
- }
- }
- function init() {
- if (!navigator.userAgent.match(mobileAgents)) {
- initLightbox();
- }
- initThreadHiders();
- hideThreadsOnLoad();
- }
- if (document.addEventListener) {
- document.addEventListener('DOMContentLoaded', init);
- } else {
- document.onreadystatechange = function() {
- if (document.readyState == "interactive") {
- init();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement