		
		
		
		
		var page = function(y, link, i, e)
		{

			this.index = i;

			this.inst = new YAHOO.util.Element(link);
			this.inst.y = y;
			this.inst.parent = this;
			this.inst.on('click', function(e){

				YAHOO.util.Event.preventDefault(e);

				var 	cnf = { scroll: { to: [0, this.y] } };

				var 	anim = new YAHOO.util.Scroll('content', cnf);
					anim.method = YAHOO.util.Easing.easeOut;
					anim.duration = 0.75;
					anim.onComplete.subscribe(set_selected);
					anim.animate();

			});

			this.set_selected = function()
			{

				for(var i = 0; i < pages.length; i++) { pages[i].inst.removeClass('selected') }
				this.inst.addClass('selected');

			}

			/////////////////////////////////////

			this.set_heading = function()
			{

				var 	h = document.createElement('h3');
					h.innerHTML = this.inst.get('element').innerHTML;

				return h;

			}

			this.set_page = function()
			{

				
				var	ldr = document.createElement('div');  
					ldr.className = "ldr";
					ldr.innerHTML = "<span></span>";

				var 	gallery = document.createElement('div');
					gallery.setAttribute('id', this.inst.get("rel"));
					gallery.className = "gallery";	
					gallery.appendChild(ldr);

				var 	div_inner = document.createElement('div');
					div_inner.className = "item-inner";
					div_inner.appendChild(this.set_heading());
					div_inner.appendChild(gallery);

				var 	div = document.createElement('div');
					div.className = "item";				
					div.appendChild(div_inner);

				content.appendChild(div);

			}

			this.set_page();

			/////////////////////////////////////
	
			this.get_JSON = function()
			{

				var 	url =  "http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=" + api_key;
					url += "&photoset_id=" + this.inst.get("rel");
					url += "&format=json";
					url += "&per_page=" + photo_limit;

				YAHOO.util.Get.script(url);

			}

			this.get_JSON();

		}

		///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

		var pages = [];
		var content;

		var Y 		= 0;
		var page_height = 1000;

		var photo_limit = 200;
		var api_key 	= "fa7ee6270533d0cb3fa14247548a4513";
		
		function set_selected()
		{
		
			var current_Y = content.get('element').scrollTop;
			
			for(var i = 0; i < pages.length; i++)
			{

				var p = pages[i];
				var y = p.inst.y;
				
				if(current_Y >= y && current_Y <= (y+page_height)) p.set_selected();

			}
		
		}

		function jsonFlickrApi(r)
		{

			var ps = r.photoset.photo;
			var id = r.photoset.id;

			var ul = document.createElement('ul');

			for(var i = 0; i < ps.length; i++)
			{

				var photo 	= ps[i];

				var li 		= document.createElement('li');
				var a 		= document.createElement('a');
				var img 	= document.createElement('img');

				a.setAttribute('href', 'http://farm'+photo.farm+'.static.flickr.com/'+photo.server+'/'+photo.id+'_'+photo.secret+'.jpg');
				a.setAttribute('title', photo.title);
				a.setAttribute('rel', 'lightbox['+id+']');

				img.setAttribute('src', 'http://farm'+photo.farm+'.static.flickr.com/'+photo.server+'/'+photo.id+'_'+photo.secret+'_s.jpg');
				img.setAttribute('width', '75');
				img.setAttribute('height', '75');
				img.setAttribute('alt', photo.title);

				a.appendChild(img);
				li.appendChild(a);
				ul.appendChild(li);

			}

			var 	clr = document.createElement('div');
				clr.className = "clear";

			var 	container = document.getElementById(id);
				container.innerHTML = "";
				container.appendChild(ul);
				container.appendChild(clr);


		};


		YAHOO.util.Event.onDOMReady(function(){

			content 	= new YAHOO.util.Element("content");

			var menu 	= new YAHOO.util.Element("menu");
			var as 		= menu.get('element').getElementsByTagName('a');

			/////////////////////////////////////////////////////////////////////////

			var 	set_layout = function() { content.setStyle("height", (YAHOO.util.Dom.getViewportHeight()) + "px"); }
				set_layout();

			YAHOO.util.Event.addListener(window, 'resize', function(){ set_layout(); });

			/////////////////////////////////////////////////////////////////////////

			for(var i = 0; i < as.length; i++)
			{

				var obj = new page(Y, as[i], i);
				pages.push(obj);
				Y+=page_height;

			}
			
			content.get('element').onscroll = function() { set_selected(); }
			
		});

