/*
FILE ARCHIVED ON 8:56:19 Nov 28, 2012 AND RETRIEVED FROM THE
AN OPENWAYBACK INSTANCE ON 6:26:04 Aug 27, 2024.
JAVASCRIPT APPENDED BY OPENWAYBACK, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
*/
////////////////////////////////////////////////////////////////////////////////////////
// XXX updated 05 november 2012 to account for updates to twitter's api XXX
////////////////////////////////////////////////////////////////////////////////////////
(function ($) {
$.toJSON = function (o) {
if (typeof (JSON) == 'object' && JSON.stringify) return JSON.stringify(o);
var type = typeof (o);
if (o === null) return "null";
if (type == "undefined") return undefined;
if (type == "number" || type == "boolean") return o + "";
if (type == "string") return $.quoteString(o);
if (type == 'object') {
if (typeof o.toJSON == "function") return $.toJSON(o.toJSON());
if (o.constructor === Date) {
var month = o.getUTCMonth() + 1;
if (month < 10) month = '0' + month;
var day = o.getUTCDate();
if (day < 10) day = '0' + day;
var year = o.getUTCFullYear();
var hours = o.getUTCHours();
if (hours < 10) hours = '0' + hours;
var minutes = o.getUTCMinutes();
if (minutes < 10) minutes = '0' + minutes;
var seconds = o.getUTCSeconds();
if (seconds < 10) seconds = '0' + seconds;
var milli = o.getUTCMilliseconds();
if (milli < 100) milli = '0' + milli;
if (milli < 10) milli = '0' + milli;
return '"' + year + '-' + month + '-' + day + 'T' + hours + ':' + minutes + ':' + seconds + '.' + milli + 'Z"';
}
if (o.constructor === Array) {
var ret = [];
for (var i = 0; i < o.length; i++)
ret.push($.toJSON(o[i]) || "null");
return "[" + ret.join(",") + "]";
}
var pairs = [];
for (var k in o) {
var name;
var type = typeof k;
if (type == "number") name = '"' + k + '"';
else if (type == "string") name = $.quoteString(k);
else continue;
if (typeof o[k] == "function") continue;
var val = $.toJSON(o[k]);
pairs.push(name + ":" + val);
}
return "{" + pairs.join(", ") + "}";
}
};
$.evalJSON = function (src) {
if (typeof (JSON) == 'object' && JSON.parse) return JSON.parse(src);
return eval("(" + src + ")");
};
$.secureEvalJSON = function (src) {
if (typeof (JSON) == 'object' && JSON.parse) return JSON.parse(src);
var filtered = src;
filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@');
filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']');
filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, '');
if (/^[\],:{}\s]*$/.test(filtered)) return eval("(" + src + ")");
else throw new SyntaxError("Error parsing JSON, source is not valid.");
};
$.quoteString = function (string) {
if (string.match(_escapeable)) {
return '"' + string.replace(_escapeable, function (a) {
var c = _meta[a];
if (typeof c === 'string') return c;
c = a.charCodeAt();
return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
}) + '"';
}
return '"' + string + '"';
};
var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g;
var _meta = {
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"': '\\"',
'\\': '\\\\'
};
})(jQuery);
function parseXML(xml) {
if (window.ActiveXObject && window.GetObject) {
var dom = new ActiveXObject('Microsoft.XMLDOM');
dom.loadXML(xml);
return dom;
}
if (window.DOMParser) return new DOMParser().parseFromString(xml, 'text/xml');
throw new Error('No XML parser available');
}
function formatDate(idate) {
var itemDateString = "";
var itemDate = "";
itemDate = new Date(idate);
if (isNaN(itemDate)) {
var dateArray = idate.split(' ');
itemDate = new Date(dateArray[0] + ', ' + dateArray[2] + ' ' + dateArray[1] + ' ' + dateArray[5] + ' ' + dateArray[3] + ' ' + dateArray[4]);
}
if (!isNaN(itemDate)) {
var itemMinutes = itemDate.getMinutes();
var itemMonth = itemDate.getMonth() + 1;
var itemHour = itemDate.getHours();
var itemAMPM = "am";
if (itemMinutes < 10) {
itemMinutes = "0" + itemMinutes;
}
if (itemHour >= 12) {
itemAMPM = "pm";
}
if (itemHour == 0) {
itemHour = 12;
}
if (itemHour > 12) {
itemHour = itemHour - 12;
}
itemDateString = itemHour + ":" + itemMinutes + itemAMPM + " on " + itemMonth + "/" + itemDate.getDate() + "/" + itemDate.getFullYear();
}
return itemDateString;
}
//var lastid = null;
$.fn.spy = function (options) {
var limit = options.limit || 10;
var target = this;
//proxy the calls by default
var _spyTweetsShouldBeProxied = (options.mothership == "false" || options.edp == "false" || options.proxy == "false") ? false : true;
if (options.source == "twitter" && options.type == "search") {
var url = "https://webarchive.library.unt.edu/web/20121128085619/http://search.twitter.com/search.json?q=" + escape(options.query) + "&rpp=" + limit + "&callback=?"
if (options.lastid != null && options.lastid != undefined && !_spyTweetsShouldBeProxied) {
url += "&since_id=" + options.lastid;
}
if (options.geocode != null) {
url += "&geocode=" + options.geocode;
}
}
if (options.source == "twitter" && options.type == "list") {
var url = "https://webarchive.library.unt.edu/web/20121128085619/http://api.twitter.com/1/" + escape(options.query) + "/statuses.json?per_page=" + limit + "&callback=?";
if (options.lastid != null && options.lastid != undefined && !_spyTweetsShouldBeProxied) {
url += "&since_id=" + options.lastid;
}
}
//