window.flickr = {};
window.flickr.groups = {};
window.flickr.groups.pools = {};
window.flickr.groups.pools.getPhotosHtml = function(groupId, userId, tag, count, targetId, verbose) {
    window.flickr.groups.pools.getPhotosHtml.__runner = run;
    if (groupId && targetId) {
        var url = "http://api.flickr.com/services/rest/?method=flickr.groups.pools.getPhotos&api_key=45d3f3c9ce7c4e84bd97ac582b0ad48e&format=json&extras=owner_id,date_taken&group_id=" + groupId;
        var groupUrl = "http://www.flickr.com/groups/" + groupId + "/pool/";
        var isUser = false;
        if (userId) {
            url += "&user_id=" + userId;
            groupUrl += userId + "/";
            isUser = true;
        }
        if (tag) {
            if (tag.indexOf("{id}") >= 0) {
                var path = window.location.pathname;
                var segments = path.split("/");
                for(var i = segments.length; i >= 0; i--) {
                    var segment = segments[i];
                    if (segment) {
                        tag = encodeURIComponent(tag.replace(/{id}/, segment));
                        break;
                    }
                }
            }
            url += "&tags=" + tag;
            if (!isUser) {
                groupUrl += "tags/" + tag + "/";
            }
        }
        if (count) {
            url += "&per_page=" + count;
        } else {
            count = 6;
        }
        if (!verbose) {
			verbose = false;
        }
        run(url, groupUrl, count, targetId, verbose);
    }
    
    function run(url, groupUrl, count, targetId, verbose) {
        if (window.jsonFlickrApi) {
            window.setTimeout("window.flickr.groups.pools.getPhotosHtml.__runner(\"" + url + "\",\"" + groupUrl + "\"," + count + ",\"" + targetId + "\", " + verbose + ")", 200);
        }
        else {
            var head = first(document.getElementsByTagName("head"));
            if (head) {
                window.jsonFlickrApi = function(rsp) {
					var now = new Date();
                    if (rsp.stat == "ok") {
                        var length = rsp.photos.photo.length;
                        var html = "";
                        if (length > count) length = count;
                        for(var i = 0; i < length; i++) {
                            var photo = rsp.photos.photo[i];
                            var href = "http://www.flickr.com/photos/" + photo.owner + "/" + photo.id + "/";
                            if (verbose) {
								html += "<div class=\"l-pic\"><a title=\"" + photo.title + "\" href=\"" + href + "\"><span class=\"l-photo\"";
                            }
                            else {
								html += "<div class=\"l-pic\"";
                            }
                            html += " style=\"background-image: url(http://farm" + photo.farm + ".static.flickr.com/" + photo.server + "/" + photo.id + "_" + photo.secret + "_" + (verbose ? "m" : "s") + ".jpg)\">";
							if (verbose) {
								html += "<span class=\"l-frame\">&nbsp;</span></span>" + photo.title + "</a><div class=\"l-owner\">" + photo.ownername + "</div><div class=\"l-relative-date\">" + __layout.getRelativeDate(now, photo.datetaken) + "</div>";
							}
							else {
								html += "<a title=\"" + photo.title + "\" href=\"" + href + "\">" + photo.title + "</a>";
							}
							html += "</div>";
                        }
                        if (length > 0) {
                            var total = rsp.photos.total;
                            if (total >= length) {
                                total = total - length;
                            }
                            if (total > 0) {
                                var plural = total == 1 ? "" : "s";
                                html += "<a class=\"l-group\" href=\"" + groupUrl + "\">" + total + " more photo" + plural + " on Flickr</a>";
                            }
                        }
                        else {
                            var target = document.getElementById(targetId);
                            if (target) {
                                var previous = target.previousSibling;
                                var parent = target.parentNode;
                                parent.removeChild(target);
                                if (previous) {
                                    parent.removeChild(previous);
                                }
                            }
                            return;
                        }
                        var target = document.getElementById(targetId);
                        if (target) {
                            target.innerHTML = html;
                        }
                        window.jsonFlickrApi = null;
                    }
                    else {
                        var target = document.getElementById(targetId);
                        if (target) {
                            var previous = target.previousSibling;
                            var parent = target.parentNode;
                            parent.removeChild(target);
                            if (previous) {
                                parent.removeChild(previous);
                            }
                        }
                    }
                }
                var script = document.createElement("script");
                script.type = "text/javascript";
                script.src = url;
                head.appendChild(script);
            }
        }
    }
}
