(function($) {

	$.fn.ss_flickr = function(psetid){

// photosets
//http://cms.stevensingerblog.com/cmsms/tmp/flickr/photosets.json

// photoset
//http://cms.stevensingerblog.com/cmsms/tmp/flickr/72157622094158893.json
//http://cms.stevensingerblog.com/cmsms/tmp/flickr/72157622218643094.json

		var thisID = $(this).attr("id")
		
		//get photosets
		$("#"+thisID+" div.left_column h3").after('<ul class="gallery_nav"></ul>');

		$.getJSON("/tmp/flickr/photosets.json",
			function(data){

				var numOfPhotosets = data.photosets.photoset.length;
				//alert(data.photosets.photoset.length)
			
				jQuery.each(data.photosets.photoset, function(i,item){
						$("#"+thisID+" ul.gallery_nav").append('<li id="id'+data.photosets.photoset[i].id+'" class="link'+i+'"><a title="'+data.photosets.photoset[i].title._content+'"><span class="arrow">&nbsp;</span> <span>'+data.photosets.photoset[i].title._content+'</span></a></li>\r')
				});

				$("#"+thisID+" ul.gallery_nav li a").hover(
					function(){
						$(this).css({ "cursor" : "pointer" , "color" : "#d90b10" });
				
					},
					function(){
						if( $(this).parent().hasClass("on") ){
							$(this).css({ "cursor" : "auto" , "color" : "#fff"  })		
						} else {
							$(this).css({ "cursor" : "auto" , "color" : "#999"  })	
						}
					}
				);

				// choose initial library on page load
				if (psetid!=undefined ) {
					if (psetid != "") {
						// photoset querystring passed in, get that photoset
						getGallery(thisID,"id"+psetid);
					}
					else {
						//chose the first photoset/gallery in the list
						getGallery(thisID, $("#"+thisID+" ul.gallery_nav li:first-child").attr("id"));
					}
				}
				else {
					//chose the first photoset/gallery in the list
					getGallery(thisID, $("#"+thisID+" ul.gallery_nav li:first-child").attr("id"));
				}

				//user clicks on a gallery
				$("#"+thisID+" ul.gallery_nav li a").click(
					function(){
						getGallery(thisID, $(this).parent().attr("id"));
					}
				);
			}
		);

		var numOfSubPhotoGallerys =  $("#"+thisID+" div.gallery #photos").size();
		var numOfSubVideoGallerys =  $("#"+thisID+" div.gallery #videos").size();

		function generateSubnav(){
			$("div.gallery > div h4").after('<ul class="subnav"><li class="prev"><a href="javascript:void(0);">&lt;</a></li><li class="next"><a href="javascript:void(0);">&gt;</a></li></ul>');		
		}
		
		generateSubnav();
		
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
		function getGallery(containerID, galleryID){
		
			$("#"+containerID+" div.gallery h3").html( $("#"+galleryID+" a").attr("title") );
			$("#"+containerID+" ul.gallery_nav li").removeClass("on");
			$("#"+containerID+" ul.gallery_nav li a span.arrow").html("&nbsp;");
						
			if( $("#"+galleryID).hasClass("on") ){
				return false
			} else {
							
				$("#"+containerID+" ul.gallery_nav li a").css({ "color" : "#999" });
				$("#"+containerID+" ul.gallery_nav li#"+galleryID+" a").css({ "color" : "#ffffff" });
				$("#"+containerID+" ul.gallery_nav li").removeClass("on");
				$("#"+galleryID).addClass("on");
				$("#"+galleryID+" a").children("span.arrow").html("&#8658;");

				$.getJSON("/tmp/flickr/"+$("#"+galleryID).attr("id").slice(2)+".json",
					function(data){
						$("#photos div").remove();
						$("#videos div").remove();
						$("ul.subnav li").remove();
						$("ul.subnav").html('<li class="prev"><a href="javascript:void(0);">&lt;</a></li><li class="next"><a href="javascript:void(0);">&gt;</a></li>');

						//generate sets
						var NumOfPhotos = 0;
						var NumOfVideos = 0;
						var NumOfPhotoSubGalleries = 0;
						var NumOfVideoSubGalleries = 0;
						var i = 0;
						var x = 0;

						for ( i = 0; i < data.photoset.total; i++ ) {
							if ( data.photoset.photo[i].media == "photo" ) {
								NumOfPhotos = NumOfPhotos + 1;
								NumOfPhotoSubGalleries = ( Math.floor(NumOfPhotos/21)+1 );
							}	
						}
						i = 0;

						for ( i = 0; i < data.photoset.total; i++ ) {
							if ( data.photoset.photo[i].media == "video" ) {
								NumOfVideos = NumOfVideos + 1;
								NumOfVideoSubGalleries = ( Math.floor(NumOfVideos/21)+1 );
							}
						}
						i = 0;

						for ( i = 1; i <= NumOfPhotoSubGalleries; i++ ){
							$("#"+containerID+" #photos ul.subnav").before('\r<div class="g0'+( i )+'">\r<ul class="thumbnails">\r</ul>\r</div>\r');
						}
						i = 0;

						for ( i = 1; i <= NumOfVideoSubGalleries; i++ ){
							$("#"+containerID+" #videos ul.subnav").before('\r<div class="g0'+( i )+'">\r<ul class="thumbnails">\r</ul>\r</div>\r');
						}
						i = 0;

						//generate navs
						for ( i = 1; i <= NumOfPhotoSubGalleries; i++ ){
							$("#"+containerID+" #photos ul.subnav li.next").before('<li class="g0'+i+'"><a href="javascript:void(0);">&bull;</a></li>');
							$("#"+containerID+" #photos ul.subnav li.g01").addClass("on");
						}
						i = 0;

						for ( i = 1; i <= NumOfVideoSubGalleries; i++ ){
							$("#"+containerID+" #videos ul.subnav li.next").before('<li class="g0'+i+'"><a href="javascript:void(0);">&bull;</a></li>');
							$("#"+containerID+" #videos ul.subnav li.g01").addClass("on");
						}
						i = 0;

						var photoset = [];
						var videoset = [];
									
						for ( i = 0; i < data.photoset.photo.length; i++){
							if ( data.photoset.photo[i].media == "photo"  ) {
								photoset[x] = '<li class="g0'+( (Math.floor( i/21)+1) )+'"><a href="http://farm'+data.photoset.photo[i].farm+'.static.flickr.com/'+data.photoset.photo[i].server+'/'+data.photoset.photo[i].id+'_'+data.photoset.photo[i].secret+'.jpg" class="thickbox" title="'+data.photoset.photo[i].title+'" rel="photoset'+data.photoset.id+'"><img src="http://farm'+data.photoset.photo[i].farm+'.static.flickr.com/'+data.photoset.photo[i].server+'/'+data.photoset.photo[i].id+'_'+data.photoset.photo[i].secret+'_s.jpg"></a></li>';
								x++;
							}
						}
						i = 0;
						x = 0;

						for ( i = 0; i < data.photoset.photo.length; i++){
							if ( data.photoset.photo[i].media == "video"  ) {		
								//videoset[x] = '<li class="g0'+( (Math.floor( i/21)+1) )+'"><a href="http://farm'+data.photoset.photo[i].farm+'.static.flickr.com/'+data.photoset.photo[i].server+'/'+data.photoset.photo[i].id+'_'+data.photoset.photo[i].secret+'.jpg" title="" class="thickbox"><img src="http://farm'+data.photoset.photo[i].farm+'.static.flickr.com/'+data.photoset.photo[i].server+'/'+data.photoset.photo[i].id+'_'+data.photoset.photo[i].secret+'_s.jpg" /></a></li>';
								//videoset[x] = '<li class="g0'+( (Math.floor( i/21)+1) )+'"><a href="#TB_inline?height=300\&width=400\&inlineId=hiddenModalContent'+x+'" class="thickbox"><img src="http://farm'+data.photoset.photo[i].farm+'.static.flickr.com/'+data.photoset.photo[i].server+'/'+data.photoset.photo[i].id+'_'+data.photoset.photo[i].secret+'_s.jpg" /></a><div id="hiddenModalContent'+x+'"><p>test</p></div></li>';	
								videoset[x] = '<li class="g0'+( (Math.floor( i/21)+1) )+'"><a href="#TB_inline?height=316\&width=400\&inlineId=hiddenModalContent'+x+'" class="thickbox" title="'+data.photoset.photo[i].title+'"><img src="http://farm'+data.photoset.photo[i].farm+'.static.flickr.com/'+data.photoset.photo[i].server+'/'+data.photoset.photo[i].id+'_'+data.photoset.photo[i].secret+'_s.jpg" /></a><div id="hiddenModalContent'+x+'"><div class="video_container"><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&photo_secret='+data.photoset.photo[i].secret+'&photo_id='+data.photoset.photo[i].id+'"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&photo_secret='+data.photoset.photo[i].secret+'&photo_id='+data.photoset.photo[i].id+'" height="300" width="400"></embed></object></div></li>';	
								x++;
							}

//<script type="text/javascript">AC_FL_RunContent( "type","application/x-shockwave-flash","width',"400","height","300","data","http://www.flickr.com/apps/video/stewart.swf?v=71377","src","http://www.flickr.com/apps/video/stewart?v=71377","bgcolor","#000000","allowfullscreen","true","flashvars","intl_lang=en-us&photo_secret='+data.photoset.photo[i].secret+'&photo_id='+data.photoset.photo[i].id+'","movie","http://www.flickr.com/apps/video/stewart?v=71377" );</script><noscript><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> <param name="flashvars" value="intl_lang=en-us&photo_secret='+data.photoset.photo[i].secret+'&photo_id='+data.photoset.photo[i].id+'"></param> <param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param> <param name="bgcolor" value="#000000"></param> <param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&photo_secret='+data.photoset.photo[i].secret+'&photo_id='+data.photoset.photo[i].id+'" height="300" width="400"></embed></object></noscript>'
						}
						i = 0;
						x = 0;

						for ( i = 0; i < photoset.length ; i++){
							$("#"+containerID+" div.gallery #photos div.g0"+( (Math.floor( i/21)+1) )+" ul.thumbnails").append(photoset[i]+'\r');
						}
						i = 0;

						for ( i = 0; i < videoset.length ; i++){
							$("#"+containerID+" div.gallery #videos div.g0"+( (Math.floor( i/21)+1) )+" ul.thumbnails").append(videoset[i]+'\r');
						}
						i = 0;
								
						//reload thickbox
						$.getScript("/uploads/js/thickbox.jquery.js", function(){});
									
						$("#"+containerID+" div.gallery ul.subnav li").click(
							function(){
								var subGalleryPosition = $(this).attr("class").charAt(2);
								var Gallery = $(this).parent().parent().attr("id");
								$("#"+Gallery+" div + ul.subnav li").removeClass("on");
								$(this).addClass("on");
								$("#"+Gallery+" div").hide();
								$("#"+Gallery+" div.g0"+subGalleryPosition+"").fadeIn("slow");
							}
						);
					}
				);
			}
		}
	}
	
	//homepage picture of the day
	$.fn.potd_flickr = function(){
		var thisID = $(this).attr("id")
		
		$.getJSON("/tmp/flickr/"+thisID+".json",
			function(data){
				var photonum = 1;
				photonum = Math.floor(data.photoset.total * (Math.random() % 1));
				while (data.photoset.photo[photonum].media == "video") {
					photonum = photonum + 1;
					if (photonum > data.photoset.total) { photonum = 1 }
				}
				$("#"+thisID+" a img").attr('src','http://farm'+data.photoset.photo[photonum].farm+'.static.flickr.com/'+data.photoset.photo[photonum].server+'/'+data.photoset.photo[photonum].id+'_'+data.photoset.photo[photonum].secret+'.jpg');
				$("#"+thisID+" p.caption").text(data.photoset.photo[photonum].title);
			}
		);
	}
})(jQuery);
