/**
** @tit:	rbFlickr
** @desc: 	Script para recuperar listagem de albuns e fotos do flickr
** @ver:	1.0
** @aut:	Rafael Benites[rsobaben@gmail.com], 07/2010
** @obs:	Necessário:  jquery, jquery.fancybox, flickr api, flickr user id, imagem bar.gif;
** @use:
		jQuery(document).ready(function($){
			$('#local_da_listagem').rbFlickr( 'api_key', 'user_id', '#local_da_foto');
		})(jQuery);
// change log 
 crossdomain ie issue 27/20/2010
**/
(function(w,$){
	var fotos = {};
	$.fn.extend({
		rbFlickr: function( key, id, visible){
			if(typeof(visible)=='undefined' || visible==0){visible=5;}
			var end = 0;
			/* criar imagem de espera */
			var load= new Image();
				load.src = 'bar.gif';
			var url = 'http://www.flickr.com/services/rest/?method=flickr.photosets.getList&format=json&api_key='+key+'&user_id='+id+'&jsoncallback=?'
			/* contexto jquery [primeiro elemento da seleção] */
			var elem = this[0];
			/* guarda todos os elementos */
			var tmp = $('<ul class="rb-flickr-list">');
			/* mensagens */
			$('<div id="rbFlickr-messages"><span id="rbFlickr-messagetext">Buscando Álbuns</span><br /></div>')
				.appendTo(elem)
				.append(load);
			/* faz a chamada para listagem dos albuns */
			$.getJSON( url, function(resp){
				if( resp && resp.photosets && resp.photosets.photoset ){
					$("#rbFlickr-messagetext").html('Buscando Fotos');
					end = resp.photosets.photoset.length;
					$.each( resp.photosets.photoset, function(i,v){
						if(v.photos>0){
							var url2 = 'http://www.flickr.com/services/rest/?method=flickr.photosets.getPhotos&format=json&api_key='+key+'&photoset_id='+v.id+'&jsoncallback=?&extras=url_sq,url_m';
							var album = v.id;
							$.getJSON( url2, function(data){
								if( data && data.photoset && data.photoset.photo && data.photoset.photo.length ){
									var foto = '<li style="padding-left:2px;width:75px;height:75px">';
									$.each( data.photoset.photo, function(i,v){
										if(i == 0 ){
											foto +=( '<a href="'+v.url_m+'" class="rbFlickr-Image" rel="gallery'+album+'" title="'+v.title+'"><img src="'+v.url_sq+'" /></a>');
										}
										else{
											foto += ( '<a href="'+v.url_m+'" class="rbFlickr-Image" rel="gallery'+album+'" title="'+v.title+'"></a>');
										}									
									});
									foto += '</li>';
									tmp.append( foto );
								}// fim das requisições */
								if( --end == 0){
									$('#rbFlickr-messages').hide(500, function(){
											$(this).remove();
											$("#rbFlickr-photosets").fadeIn(700);
									});																
									$(elem).empty().append(tmp);
									$('.rbFlickr-Image').fancybox({titlePosition:'over',titleFormat:function(t,cA,cI,cO){ return '<span id="fancybox-title-over">['+(cI+1)+'/'+cA.length+'] -'+t+'</span>'; } });
									$(elem).jCarouselLite({ continuous: true, visible : visible,scroll:Math.ceil(visible/3), mouseWheel: true, btnNext: ".rb-flick-next", btnPrev: ".rb-flick-prev" })
								}
							});
						}
					})
				}else{ /* erro  */ }
				
			});
		}
	});
	w.rbFlickFotos = fotos;
	//w.end = end;
})(window, jQuery);

