// ==UserScript==
// @name          Flickr Photos on Local
// @description	  find photos in Flickr marked with "ylocal:GID"
// @include       http://local.yahoo.com/*
// ==/UserScript==

var r = new RegExp('[\&\?]id=([0-9]+)');
if (r.test(document.documentURI))
{
	var s = r.exec(document.documentURI);
	var id = s[1];
	var parser = new DOMParser();

	GM_xmlhttpRequest({method:'GET', 
		url:'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ee0928e3ae337c62f071386ad4729262&per_page=3&tags=ylocal:'+id, 
		onload: function (u1) {
			 u1.responseXML = parser.parseFromString(u1.responseText,'application/xml');
			 var photos = u1.responseXML.getElementsByTagName('photo');
			 var ptags;
			 var plen = photos.length;
			 var p1=0;
			 while(ptags = photos[p1++])
			 { 
				var photo_id = ptags.getAttribute('id');
				var photo_secret = ptags.getAttribute('secret');
				GM_xmlhttpRequest({method:'GET',
					url:'http://api.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=ee0928e3ae337c62f071386ad4729262&photo_id='+photo_id+'&secret='+photo_secret,
					onload: function (u2) {
						u2.responseXML = parser.parseFromString(u2.responseText,'application/xml');
						var link = document.createElement('a');
						link.setAttribute('href',u2.responseXML.getElementsByTagName('url')[0].textContent);
						var img = document.createElement('img');
						var photo = u2.responseXML.getElementsByTagName('photo')[0];
						var photo_server = photo.getAttribute('server');
						var photo_id = photo.getAttribute('id');
						var photo_secret = photo.getAttribute('secret');
						img.src = 'http://static.flickr.com/'+photo_server+'/'+photo_id+'_'+photo_secret+'_s.jpg';
						link.appendChild(img);
						document.getElementById('ylsband').appendChild(link);
					}
				});
			}
		}});
}
