/*! Copyright (c) 2010 Phil Cohen (http://phlippers.net)
 * Dual licensed under the MIT (MIT_LICENSE.txt)
 * and GPL Version 2 (GPL_LICENSE.txt) licenses.
 *
 * Version: 0.4.0
 * Requires jQuery 1.4.2+, Fancybox 1.3.1+
 * Docs: http://phlippers.net/code/fancy-photoset
 */
(function($) {
 $.fn.fancyPhotoset = function(options) {
   var opts    = $.extend($.fn.fancyPhotoset.defaults, options);
   var domId   = 'fancyPhotoset-' + opts.photosetId;
   var jsonUrl = 'http://api.flickr.com/services/rest/?&method=flickr.photosets.getPhotos&api_key={apiKey}&photoset_id={photosetId}&extras=url_sq,url_t,url_s,url_m,url_o&format=json&jsoncallback=?'.replace(/\{\w+\}/g, function(match) {
     return opts[match.replace(/\{|\}/g, '')];
   });

   // Create a fancyPhotoset for each selector
   return this.each(function() {
     var obj = $(this);
     $(obj).append(
       $('<div>').attr('id', domId).addClass('fancyPhotoset')
     );

     $.getJSON(jsonUrl, function(data) {
		//alert(data.photoset.photo[0].url_s);
		// Hide all except the first image - edited DA
        if (opts.firstOnly) {
    			var previewimage = data.photoset.photo[0].url_s;
    			var previewurl = $('div.fancyPhotoset a:first').attr('href');
    			var previewrel = $('div.fancyPhotoset a:first').attr('rel');
    			$('a.gallery').attr({'href': data.photoset.photo[0].url_o, 'rel': 'flickr-' + data.photoset.id});
    			$(obj).find('span.thumbnailimage').attr({'style': 'background: transparent url('+ previewimage +') center center no-repeat'});
    			
		// get links to create photoset
		    $.each(data.photoset.photo, function(index, photo) {
            $(obj).find('div').append(
                $('<a/>').attr({'href': $.fn.fancyPhotoset.urlFor(photo, {size: opts.large}), 'rel': 'flickr-' + opts.photosetId, 'title': photo.title}).fancybox(opts.fancybox)
            );
          });
    // remove first link
        $(obj).find('div a:first').remove();

        }else{
          $.each(data.photoset.photo, function(index, photo) {
            $(obj).find('div').append(
                $('<a/>').attr({'href': $.fn.fancyPhotoset.urlFor(photo, {size: opts.large}), 'rel': 'flickr-' + opts.photosetId, 'title': photo.title}).html(
                  $('<img/>').attr({'src': $.fn.fancyPhotoset.urlFor(photo, {size: opts.small}), 'title': photo.title, 'alt': photo.title}).after(
                    (opts.captions ? $('<span/>').addClass('caption').text(photo.title) : '')
                  )
                ).fancybox(opts.fancybox)
            );
          });
		}

     });
   });
 };

 // generate static image url
 $.fn.fancyPhotoset.urlFor = function(photo, options) {
   var opts = $.extend({size: 'square'}, options);
   var urls = {
     'square'    : photo.url_sq,
     'thumbnail' : photo.url_t,
     'small'     : photo.url_s,
     'medium'    : photo.url_m,
     'original'  : photo.url_o
   };

   return urls[opts.size];
 };

 // default options
 $.fn.fancyPhotoset.defaults = {
   apiKey     : 'e8cfd8aa067459a7ff1e20dbae5dc4eb',
   photosetId : '',
   small      : 'small',
   large      : 'original',
   captions   : false,
   firstOnly  : false,
   fancybox   : {}
 };
})(jQuery);
