Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
transistorization
/
wp-content
/
plugins
/
wassup
/
js
:
spia.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * Javascripts for wassup-spy page. * $Id: spia.js,v 1.4.1 Exp $ * /* "spy" is a jQuery plugin by Remy Sharp (leftlogic.com/info/articles/jquery_spy2) v1.4 2006/09/30 11:05:04 remy Exp */ var spyRunning = 1; (function($) { $.fn.spy = function(settings) { var spy=this; spy.epoch=new Date(1970, 0, 1); spy.last=''; spy.parsing=0; spy.waitTimer=0; spy.json=null; if (!settings.ajax) {alert("An AJAX/AJAH URL must be set for the spy to work."); return;} spy.attachHolder = function() { // not mad on this, but the only way to parse HTML collections if (o.method == 'html') $('body').append('<div style="display: none!important;" id="_spyTmp"></div>'); } // returns true for 'no dupe', and false for 'dupe found' // latest = is latest ajax return value (raw) // last = is previous ajax return value (raw) // note that comparing latest and last if they're JSON objects // always returns false, so you need to implement it manually. spy.isDupe = function(latest, last) { if(last){ //Wassup v1.9 bugfix for undefined error if ((last.constructor == Object) && (o.method == 'html')) {return (String(latest.text()).substring(0,32) == String(last.text()).substring(0,32));} else if (last.constructor == String) {return (latest == last);} else {return false;} } else { return false; } } spy.timestamp = function() { var now=new Date(); return Math.floor((now - spy.epoch) / 1000); } spy.parse = function(e, r) { spy.parsing = 1; // flag to stop pull via ajax if (o.method == 'html'){$('div#_spyTmp').html(r);} else if(o.method == 'json'){ eval('spy.json = ' + r);} if ((o.method == 'json' && spy.json.constructor == Array) || o.method == 'html') { if (spy.parseItem(e)) { spy.waitTimer = window.setInterval(function(){ if(spyRunning){ if(!spy.parseItem(e)){ spy.parsing = 0; clearInterval(spy.waitTimer); } } },o.pushTimeout); } else { spy.parsing = 0; } } else if (o.method == 'json') { // we just have 1 eval('spy.json = ' + r) spy.addItem(e, spy.json); spy.parsing = 0; } } // returns true if there's more to parse spy.parseItem = function(e) { if (o.method == 'html') { // note: pre jq-1.0 doesn't return the object var i = $('div#_spyTmp').find('div:first').remove(); if(i.size() > 0){ i.hide(); spy.addItem(e,i);} return ($('div#_spyTmp').find('div').size() != 0); } else { if(spy.json.length){ var i = spy.json.shift(); spy.addItem(e,i);} return (spy.json.length != 0); } } spy.addItem = function(e, i) { if (! o.isDupe.call(this, i, spy.last)) { spy.last = i; // note i is a pointer - so when it gets modified, so does spy.last $('#' + e.id + ' > div:gt(' + (o.limit - 2) + ')').remove(); $('#' + e.id + ' > div:gt(' + (o.limit - o.fadeLast - 2) + ')').fadeEachDown(); o.push.call(e, i); $('#' + e.id + ' > div:first').fadeIn(o.fadeInSpeed); } } spy.push = function(r) { $('#' + this.id).prepend(r);} var o = { limit: (settings.limit || 10), fadeLast: (settings.fadeLast || 5), ajax: settings.ajax, timeout: (settings.timeout || 3000), pushTimeout: (settings.pushTimeout || settings.timeout || 3000), method: (settings.method || 'html').toLowerCase(), push: (settings.push || spy.push), fadeInSpeed: (settings.fadeInSpeed || 'slow'), // 1400 = crawl timestamp: (settings.timestamp || spy.timestamp), isDupe: (settings.isDupe || spy.isDupe) }; spy.attachHolder(); return this.each(function() { var e = this; var timestamp = o.timestamp.call(); var lr = ''; // last ajax return spy.ajaxTimer = window.setInterval(function() { if (spyRunning && (!spy.parsing)){ $.post(o.ajax,{'timestamp': timestamp},function(r){ spy.parse(e,r);}); timestamp = o.timestamp.call(); } }, o.timeout); }); }; $.fn.fadeEachDown = function() { var s=this.size(); return this.each(function(i){ var o = 1 - (s == 1 ? 0.5 : 0.85/s*(i+1)); var e = this.style; if (window.ActiveXObject) e.filter = "alpha(opacity=" + o*100 + ")"; e.opacity = o; }); }; })(jQuery); //Wassup add-ons functions... function pauseSpy(){spyRunning=0;return false;} function playSpy(){spyRunning=1;return false;} function pad(n){n=n.toString();return (n.length==1?'0'+n:n);} function spiaTimestamp(){ var d=new Date(); var timestamp=d.getFullYear()+'-'+pad(d.getMonth())+'-'+pad(d.getDate()); timestamp +=' '; timestamp +=pad(d.getHours())+':'+pad(d.getMinutes())+':'+pad(d.getSeconds()); return timestamp; }