﻿/*
 * jQuery Flickr - jQuery plug-in
 * Version 1.0, Released 2008.04.17
 *
 * Copyright (c) 2008 Daniel MacDonald (www.projectatomic.com)
 * Dual licensed GPL http://www.gnu.org/licenses/gpl.html 
 * and MIT http://www.opensource.org/licenses/mit-license.php
 */
(function($){$.fn.flickr=function(o){var s={api_key:null,type:null,photoset_id:null,text:null,user_id:null,group_id:null,tags:null,tag_mode:"any",sort:"date-posted-asc",thumb_size:"s",size:null,show:0,shuffle:false,per_page:100,page:1,attr:"",api_url:null,params:"",api_callback:"?",callback:null};if(o){$.extend(s,o)}return this.each(function(){var list=$("<ul>").appendTo(this);var url=$.flickr.format(s);$.getJSON(url,function(r){if(r.stat!="ok"){for(i in r){$("<li>").text(i+": "+r[i]).appendTo(list)}}else{if(s.type=="photoset"){r.photos=r.photoset}list.append('<input type="hidden" value="'+r.photos.page+'" />');list.append('<input type="hidden" value="'+r.photos.pages+'" />');list.append('<input type="hidden" value="'+r.photos.perpage+'" />');list.append('<input type="hidden" value="'+r.photos.total+'" />');if(s.shuffle){r.photos.photo=$.shuffle(r.photos.photo)}for(var i=0;i<r.photos.photo.length;i++){var hidden="";if(s.show!=0&&i>=s.show){hidden=' class="hidden"'}var photo=r.photos.photo[i];var t="http://farm"+photo.farm+".static.flickr.com/"+photo.server+"/"+photo.id+"_"+photo.secret+"_"+s.thumb_size+".jpg";var h="http://farm"+photo.farm+".static.flickr.com/"+photo.server+"/"+photo.id+"_";switch(s.size){case"m":h+=photo.secret+"_m.jpg";break;case"b":h+=photo.secret+"_b.jpg";break;case"o":if(photo.originalsecret&&photo.originalformat){h+=photo.originalsecret+"_o."+photo.originalformat;break}default:h+=photo.secret+".jpg"}var istr="";if(hidden==""){istr='<img src="'+t+'" alt="'+photo.title+'" />'}list.append("<li"+hidden+'><a href="'+h+'" '+s.attr+' title="'+photo.title+'">'+istr+"</a></li>")}if(s.callback){s.callback(list)}}})})};$.flickr={format:function(s){if(s.url){return s.url}var url="http://api.flickr.com/services/rest/?format=json&jsoncallback="+s.api_callback+"&api_key="+s.api_key;switch(s.type){case"photoset":url+="&method=flickr.photosets.getPhotos&photoset_id="+s.photoset_id;break;case"search":url+="&method=flickr.photos.search&sort="+s.sort;if(s.user_id){url+="&user_id="+s.user_id}if(s.group_id){url+="&group_id="+s.group_id}if(s.tags){url+="&tags="+s.tags}if(s.tag_mode){url+="&tag_mode="+s.tag_mode}if(s.text){url+="&text="+s.text}break;default:url+="&method=flickr.photos.getRecent"}if(s.size=="o"){url+="&extras=original_format"}url+="&per_page="+s.per_page+"&page="+s.page+s.params;return url}};$.fn.shuffle=function(){return this.each(function(){var items=$(this).children();return(items.length)?$(this).html($.shuffle(items)):this})};$.shuffle=function(arr){for(var j,x,i=arr.length;i;j=parseInt(Math.random()*i),x=arr[--i],arr[i]=arr[j],arr[j]=x){}return arr}})(jQuery);