/// <reference path="jquery-vsdoc.js" />
// bgFlickr.js 0.3 | requires jquery.js 1.3.2+ & bg.js 0.5.0+ | made by Kyle Weems of Mindfly Web Studio (http://mindfly.com/)
// Created Sep 09, 2010 | Last Modified Dec 01, 2010
if (!bg) {
    var bg = {};
    var BrainGnat = bg;
}
bg.Flickr = {
    version: "bg.Flickr Extension - v0.3 (requires jquery.js 1.3.2+)",
    count: null,
    random: null,
    size: null,
    elem: null,
    feedData: null,
    slideshow: null,
    slideDur: null,
    slideFade: null,
    getPhotos: function(elem, user, count, random, size, photoset, slideshow, slideDur, slideFade) {
        if (!photoset) {
            var script = "http://api.flickr.com/services/feeds/photos_public.gne?";
            script += "id=" + user;
            script += "&format=json&jsoncallback=?";
        } else {
            var script = "http://api.flickr.com/services/feeds/photoset.gne?";
            script += "set=" + photoset;
            script += "&nsid=" + user;
            script += "&lang=en-us&format=json&jsoncallback=?";
        }
        if (!count) count = 10;
        if (!size) size = "m";
        if (!random) random = false;
        if (!slideshow) slideshow = false;
        if (!slideDur) slideDur = 5000;
        if (!slideFade) slideFade = 1000;
        bg.Flickr.elem = elem;
        bg.Flickr.count = count;
        bg.Flickr.size = size;
        bg.Flickr.random = random;
        bg.Flickr.slideshow = slideshow;
        bg.Flickr.slideDur = slideDur;
        bg.Flickr.slideFade = slideFade;
        $.getJSON(script, function(data) {
            bg.Flickr.feedData = data;
            if (bg.Flickr.random) {
                bg.Flickr.loadRandom();
            } else {
                bg.Flickr.loadRecent();
            }
            if (bg.Flickr.slideshow == true) {
                alert('ding');
                bg.slideshow.listFade('.flickr.gallery', bg.Flickr.slideDur, bg.Flickr.slideFade);
            }
        });
    },
    loadRandom: function() {
        $(bg.Flickr.elem).append('<ul class="flickr gallery"></ul>');
        var data = bg.Flickr.feedData;
        for (i = 0; i < bg.Flickr.count; i++) {
            var r = Math.floor(Math.random() * data.items.length);
            var item = data.items[r];
            data.items.splice(r, 1);
            $("<li><a href='" + item.link + "' title='" + item.title + "' target='_blank'><img src='" + bg.Flickr.getSizedImage(item.media.m, bg.Flickr.size) + "' alt='" + item.title + "' /></a></li>").appendTo(bg.Flickr.elem + " .flickr.gallery");
        }
    },
    loadRecent: function() {
        $(bg.Flickr.elem).append('<ul class="flickr gallery"></ul>');
        $.each(bg.Flickr.feedData.items, function(i, item) {
            $("<li><a href='" + item.link + "' title='" + item.title + "' target='_blank'><img src='" + bg.Flickr.getSizedImage(item.media.m, bg.Flickr.size) + "' alt='" + item.title + "' /></a></li>").appendTo(bg.Flickr.elem + " .flickr.gallery");
            if (i == (bg.Flickr.count - 1)) return false;
        });
    },
    getSizedImage: function(source, size) {
        var image = source.replace("_m.jpg", "_" + size + ".jpg");
        return image;
    }
}
