
var thisURL = document.location.href;
var splitURL = thisURL.split("#");
var photoId = splitURL[1] - 1;


var photoId = (!photoId)? 0 : photoId;


var borderSize = 10;


var photoDir = "photos/CR/";


var photoArray = new Array(
	
	new Array("1.jpg", "500", "375", "Pequeño Chungungo"),
	new Array("1penguin.jpg", "500", "375", "Pingüino en Centro de Rescate"),
	new Array("1picoton en CR.jpg", "500", "375", "Picoton en Centro de Rescate"),
	new Array("1qlobo rehab.jpg", "500", "375", "Reinserción de Lobo de Mar"),
	new Array("1quique previa rehab.jpg", "500", "375", "Quiques en Centro de Rescate"),
	new Array("1rhuairavos.jpg", "500", "375", "Huairavos en Centro de Rescate"),
	new Array("1vaol CR 09.jpg", "500", "375", "Voluntarios en Centro de Rescate - 2009"),
	new Array("niwino.jpg", "500", "375", "Niña observando Pingüino en rehabilitación"),
	new Array("1vo lobo en CR.jpg", "500", "375", "Lobo de Mar en Centro de Rescate "),
	new Array("1vol 2 Cr 2009.jpg", "500", "375", "Voluntario del Centro de Rescate - 2009"),
	new Array("1vol 3.jpg", "500", "375", "Voluntarios Centro de Rescate - 2009"),
	new Array("1vpinguino.jpg", "500", "375", "Visitantes con pingüino pronto a reinsertarse"),
	new Array("1vpiquero en CR.jpg", "500", "375", "Alimentación Piquero"),
	new Array("1vrescatewinoe.jpg", "500", "375", "Rescate de Pingüino"),
	new Array("2aarecien.jpg", "500", "375", "Pequeñas crias de nutria"),
	new Array("pequetop.jpg", "500", "375", "Pequeño - Nutria Marina"),
	new Array("2acmamadera.jpg", "500", "375", "Alimentación de pequeña nutria"),
	new Array("2chung007.jpg", "500", "375", "Pequeño Chungungo"),
	new Array("2cvbigotes.jpg", "500", "375", "Pequeño Chungungo"),
	new Array("2nutria chica.jpg", "500", "375", "Pequeño Chungungo"),
	new Array("3correa wino.jpg", "500", "375", "Ricardo Correa y pingüino en rehabilitación"),
	new Array("3liber wini.jpg", "500", "375", "Pingüino en proceso de reinserción"),
	new Array("3reincer.jpg", "500", "375", "Reinserción de Pingüinos"),
	new Array("51plumon.jpg", "500", "375", "Piquero Juvenil"),
	new Array("52sula estre.jpg", "500", "375", "Piquero Juvenil"),
	new Array("53avolar.jpg", "500", "375", "Piquero previo al vuelo"),
	new Array("61VITO JAULA.jpg", "500", "375", "Vito en Jaula del Centro de Rescate"),
	new Array("62 bo en CR.jpg", "500", "375", "Lobo de Mar en piscina Centro de Rescate"),
	new Array("63lobo previa rehab.jpg", "500", "375", "Lobo de Mar previa reinserción"),
	new Array("Visitantes.jpg", "500", "375", "Visitantes observan reinserción")
	);


var photoNum = photoArray.length;


Object.extend(Element, {
	getWidth: function(element) {
   	element = $(element);
   	return element.offsetWidth; 
	},
	setWidth: function(element,w) {
   	element = $(element);
    	element.style.width = w +"px";
	},
	setHeight: function(element,h) {
   	element = $(element);
    	element.style.height = h +"px";
	},
	setSrc: function(element,src) {
    	element = $(element);
    	element.src = src; 
	},
	setHref: function(element,href) {
    	element = $(element);
    	element.href = href; 
	},
	setInnerHTML: function(element,content) {
		element = $(element);
		element.innerHTML = content;
	}
});



var Slideshow = Class.create();

Slideshow.prototype = {
	initialize: function(photoId) {
		this.photoId = photoId;
		this.photo = 'Photo';
		this.photoBox = 'Container';
		this.prevLink = 'PrevLink';
		this.nextLink = 'NextLink';
		this.captionBox = 'CaptionContainer';
		this.caption = 'Caption';
		this.counter = 'Counter';
		this.loader = 'Loading';
	},
	getCurrentSize: function() {
		
		this.wCur = Element.getWidth(this.photoBox) - borderSize;
		this.hCur = Element.getHeight(this.photoBox) - borderSize;
	},
	getNewSize: function() {
		
		this.wNew = photoArray[photoId][1];
		this.hNew = photoArray[photoId][2];
	},
	getScaleFactor: function() {
		this.getCurrentSize();
		this.getNewSize();
		
		this.xScale = (this.wNew / this.wCur) * 100;
		this.yScale = (this.hNew / this.hCur) * 100;
	},
	setNewPhotoParams: function() {
	
		Element.setSrc(this.photo,photoDir + photoArray[photoId][0]);
		
		Element.setHref(this.prevLink, "#" + (photoId+1));
		Element.setHref(this.nextLink, "#" + (photoId+1));
	},
	setPhotoCaption: function() {
	
		Element.setInnerHTML(this.caption,photoArray[photoId][3]);
		Element.setInnerHTML(this.counter,((photoId+1)+'/'+photoNum));
	},
	resizePhotoBox: function() {
		this.getScaleFactor();
		new Effect.Scale(this.photoBox, this.yScale, {scaleX: false, duration: 0.3, queue: 'front'});
		new Effect.Scale(this.photoBox, this.xScale, {scaleY: false, delay: 0.5, duration: 0.3});
		
		Element.setWidth(this.captionBox,this.wNew-(-borderSize));
	},
	showPhoto: function(){
		new Effect.Fade(this.loader, {delay: 0.5, duration: 0.3});
	
		new Effect.Appear(this.photo, {duration: 0.5, queue: 'end', afterFinish: function(){Element.show('CaptionContainer');Element.show('PrevLink');Element.show('NextLink');}});
	},
	nextPhoto: function(){
		
		(photoId == (photoArray.length - 1)) ? photoId = 0 : photoId++;
		this.initSwap();
	},
	prevPhoto: function(){
		
		(photoId == 0) ? photoId = photoArray.length - 1 : photoId--;
		this.initSwap();
	},
	initSwap: function() {
		
		Element.show(this.loader);
		Element.hide(this.photo);
		Element.hide(this.captionBox);
		Element.hide(this.prevLink);
		Element.hide(this.nextLink);
		
		this.setNewPhotoParams();
		this.resizePhotoBox();
		this.setPhotoCaption();
	}
}


var myrules = {
	'#Photo' : function(element){
		element.onload = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.showPhoto();
		}
	},
	'#PrevLink' : function(element){
		element.onmouseover = function(){
			soundManager.play('beep');
		}
		element.onclick = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.prevPhoto();
			soundManager.play('select');
		}
	},
	'#NextLink' : function(element){
		element.onmouseover = function(){
			soundManager.play('beep');
		}
		element.onclick = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.nextPhoto();
			soundManager.play('select');
		}
	},
	a : function(element){
		element.onfocus = function(){
			this.blur();
		}
	}
};


Behaviour.addLoadEvent(init);
Behaviour.apply();
function init() {
	var myPhoto = new Slideshow(photoId);
	myPhoto.initSwap();
	soundManagerInit();
}
