function Album(id){
	// llamar las funciones en el init, no definirlas
	// obtener datos de las funciones via ajax
	
	var album = {
		init:function(){
			this.container						= document.getElementById(id);
			this.buttons 						= this.container.getElementsByTagName('a');
			this.imageToLoad					= '';
			this.display						= document.getElementById('albumDisplay');
			this.display.style.filter 				= 'Alpha(opacity=100)';
			this.displayIn 						= new OpacityTween(this.display,Tween.strongEaseInOut, 0, 100, 1);
			this.displayOut 					= new OpacityTween(this.display,Tween.strongEaseInOut, 100, 0, 1);
			this.displayOut.onMotionFinished 	= function(){
													album.display.onload = album.load;
													album.display.src = album.imageToLoad;
												}
			this.setEvent('onclick',this.onclick);
			this.addNavControls();
			if(location.hash!=''){
				this.showPicture(this.getHash(location.hash));
			} else {
				var data = {index: 0, imageToLoad: this.buttons[0].href};
				this.showPicture(data);
			}
			
		},
		load:function(){
			album.displayIn.start();
		},
		setEvent:function(type,fn){
			for(var a=0;a<this.buttons.length;a++){
				this.buttons[a].index = a;
				this.buttons[a][type] = fn;
			}
		},
		addNavControls:function(){
			this.prevControl = document.getElementById('albumPrev').onclick = this.prevImage;
			this.nextControl = document.getElementById('albumNext').onclick = this.nextImage;
		},
		prevImage:function(){
			album.unsetSelect();
			album.imageToLoad = album.selected>0?album.buttons[--album.selected].href:null;
			album.imageToLoad!=null?album.displayOut.start():null;
			album.imageToLoad!=null?album.setHash(album.imageToLoad):null;
			album.setSelect();
			return false;
		},
		nextImage:function(){
			album.unsetSelect();
			album.imageToLoad = album.selected<(album.buttons.length-1)?album.buttons[++album.selected].href:null;
			album.imageToLoad!=null?album.displayOut.start():null;
			album.imageToLoad!=null?album.setHash(album.imageToLoad):null;
			album.setSelect();
			return false;
		},
		selected:0,
		unsetSelect:function(){
			var str = album.buttons[album.selected].className;
				if(str.match(" selected")!=null){
					var hasta = str.indexOf(' ',0);
					var newClassName = str.substring(0,hasta);
					album.buttons[album.selected].className = newClassName;
				};
		},
		setSelect:function(){
			var eS 		= album.buttons[album.selected];
			var str 	= eS.className;
			var action 	= str.match(" selected")==null?eS.className+' selected':null;
			eS.className = action==null?eS.className:action;
		},
		setHash:function(href){
			var str = href;
			var desde = str.lastIndexOf('.');
			var hasta = str.lastIndexOf('-')+1;
			var hash = str.substring(desde,hasta);
			location.hash = 'i'+hash;
		},
		getHash:function(sHash){
			for(var a=0;a<this.buttons.length;a++){
				var str = this.buttons[a].href
				var desde = str.lastIndexOf('.');
				var hasta = str.lastIndexOf('-')+1;
				var hash = str.substring(desde,hasta);
				if(sHash==('#i'+hash)){
					var data = {index: a, imageToLoad: this.buttons[a].href};
					return data;
				}
			}
			
		},
		showPicture:function(obj){
					this.unsetSelect();
					this.imageToLoad = obj.imageToLoad;
					this.selected = obj.index;
					this.displayOut.start();
					this.setSelect();
			
		},
		onclick:function(){
			album.unsetSelect();
			album.selected = this.index;
			album.imageToLoad = this.href;
			album.setSelect();
			album.displayOut.start();
			album.setHash(this.href);
			return false;
		}
	
	}
	
	
	album.init(id);
	return album;
}
