// // asdf .. asdf.us/im search api var asdf = { fetching: false } asdf.random = function (e){ status("fetching random photoblasts") e && e.preventDefault(); opt = {}; opt.data = { random: 1 }; opt.success = gallery.load; asdf.fetch(opt); } asdf.fetch = function (opt){ if (asdf.fetching) return; asdf.fetching = true; var params = {random:1}; $.ajax({ 'url': "http://asdf.us/cgi-bin/im/list", 'data': params, 'dataType': "jsonp", 'success': function(urls){ asdf.fetching = false; opt.success && opt.success(urls) }, 'error': opt.error || function(err){ console.log(err); } }); } // // dumpfm .. dump.fm/search api var dumpfm = {} dumpfm.search = function (e){ e && e.preventDefault(); var term = $("#dumpfm-search-query").val().toLowerCase() var rawTokens = term.split(" ") var tokens = [] rawTokens.forEach(function(t){ if (t.length > 2) tokens.push(t) }) if (tokens.length == 0 || tokens[0] == "undefined") { status("search query too small") } else { status("searching for '"+tokens.join(" and ")+"'") dumpfm.fetch({ query: tokens.join("+"), success: gallery.load }) } }; dumpfm.fetch = function(opt){ if (dumpfm.fetching) return; dumpfm.fetching = true; var params = {}; $.ajax({ 'url': "http://dump.fm/cmd/search/" + opt.query, 'data': params, 'dataType': "jsonp", 'success': function(urls){ dumpfm.fetching = false; for (var i = 0, len = urls.length; i < len; i++) { var url = urls[i].url; if (url.match(/^\/\d+\//)) { url = "http://dump.fm/images/" + url; } else { url = "http://" + url; } urls[i].url = url; } opt.success && opt.success(urls) }, 'error': opt.error || function(err){ console.log(err); } }); }