var flickr = { 
	//photos:[{id:"",name:"",thumb:"",img:"",active:false,set:"",h:320,w:575}],
	photos:[],
	sets:[{id:"",name:"",thumb:"",active:false}],
	enlarged:false,
	enlarged_height:320,
	enlarged_width:575,
	debug:0,
	activePhoto:function(){
		for (var i =0; i < this.photos.length; i++) {
			if (this.photos[i].active) {
				return this.photos[i];
			}
		}
		return {id:"",name:"",thumb:"",img:"",active:true,set:"",h:320,w:575};
	},
	activeSet:function(){
		for (var i =0; i < this.sets.length; i++) {
			if (this.sets[i].active) {
				return this.sets[i];
			}
		}
		return {id:"",name:"",thumb:"",active:true};
	},
	setActiveSet:function (s) {
		var ret = this.activeSet();
		for (var i =0; i < this.sets.length; i++) {
			if (this.sets[i].id==s) {
				this.sets[i].active=true;
				ret = this.sets[i];
			} else {
				this.sets[i].active=false;
			}
		}
		return ret;
	},
	setActivePhoto:function (p) {
		var ret = this.activePhoto();
		for (var i =0; i < this.photos.length; i++) {
			if (this.photos[i].id==p) {
				this.photos[i].active=true;
				ret = this.photos[i];
			} else {
				this.photos[i].active=false;
			}
		}
		return ret;
	},
	enlarge:function (u,d) {
		if (this.enlarged) {
			this.unenlarge();
		}
		$('.flickr-enlargement img').attr('src',u);
		$('.flickr-enlargement img').height(this.imageSize(u,'height'));
		$('.flickr-enlargement img').width(this.imageSize(u,'width'));
		$('.flickr-enlargement p').text(unescape(d));
		$('.flickr-enlargement').show();
		this.enlarged = true;
	},
	unenlarge:function () {
		$('.flickr-enlargement').hide();
		this.enlarged = false;
	},
	imageSize:function (u,d) {
		
		for (i=0; i < this.photos.length && i < 4; i++) {
			
			if (this.photos[i].img == u) {
				
				// use stored
				if (this.photos[i].h) {
					
					if (d=='height') {
						return this.photos[i].h;
					} else {
						return this.photos[i].w;
					}
				
				// or detect and store
				} else {
					
					var img = new Image();
					img.src = u;
					var h = img.height;
					var w = img.width;

					var maxW = this.enlarged_width;
					var maxH = this.enlarged_height;

					if (h > maxH) {
						w = parseInt( w-( ((h-maxH)/h)  *w  ) ,10);
						h = maxH;
					}
					if (w > maxW) {
						h = parseInt( h-( ((w-maxW)/w)  *h ) ,10);
						w = maxW;
					}

					if (d=='height') {
						if (h) {
							this.photos[i].h = h;
							this.photos[i].w = w;
							return h;
						} else {
							return maxH;
						}
					} else {
						if (w) {
							this.photos[i].h = h;
							this.photos[i].w = w;
							return w;
						} else {
							return maxW;
						}
					}
				}
			}
		}
	},
	start:function () {
		/* (preload big ones)
		var i=0;
		var imgs = [];
		var fobj = this;
		for (i=0; i < this.photos.length && i < 10; i++) {
			if (this.photos[i].img != '') {
				imgs[i] = new Image();
				imgs[i].src = this.photos[i].img;
			}
		}
		*/
		$('.flickr-imgs').html(this.flickrImgs());
	},
	flickrImgs:function () {
		var str = '';
		var i=0;
		for (i=0; i < flickr.photos.length && i < 10; i++) {
			if (flickr.photos[i].thumb != '') {
				// if enlarging
				// str += '<div class="flickr-img"><a href="'+flickr.photos[i].page+'" target="_blank"><img src="'+flickr.photos[i].thumb+'" alt="'+unescape(flickr.photos[i].name)+'" onMouseOver="flickr.enlarge(\''+flickr.photos[i].img+'\',\''+flickr.photos[i].name+'\');" onMouseOut="flickr.unenlarge();" /></a></div>\n';
				// if just showing thumbs
				str += '<div class="flickr-img"><a href="'+flickr.photos[i].page+'" target="_blank"><img src="'+flickr.photos[i].thumb+'" alt="'+unescape(flickr.photos[i].name)+'" /></a></div>\n';
			}
		}
		//str += '<div class="flickr-more"><a href="http://www.flickr.com/photos/dvanvickle" target="_blank">More</a></div>\n';
		return str;
	}
};



