
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/wino/";


var photoArray = new Array(
	
	new Array("guino.jpg", "500", "375", "Pingüino en rehabilitación"),
	new Array("1abcharla 5.jpg", "500", "375", "Charla Pingüino con especies en rehabilitación"),
	new Array("1awcharla3.jpg", "500", "375", "Ricardo Correa habla sobre los pingüinos"),
	new Array("1awinors.jpg", "500", "375", "Pingüinos en rehabilitación"),
	new Array("1charla.jpg", "500", "375", "Charlas Verano 2009"),
	new Array("1charla4.jpg", "500", "375", "Charlas Güino y voluntarios 2009"),
	new Array("1charla13.jpg", "500", "375", "Güino preparándose para charla"),
	new Array("1charla 2.jpg", "500", "375", "Masiva charla pingüino"),
	new Array("1charla 6.jpg", "500", "375", "Visitantes y voluntarios observan la especie"),
	new Array("1charla 8.jpg", "500", "375", "Voluntario y pingüino a su cuidado"),
	new Array("1gentewino1.jpg", "500", "375", "Público en charlas pingüino"),
	new Array("1winer.jpg", "500", "375", "Charla verano 2009"),
	new Array("1winer_2.jpg", "500", "375", "Todos observan asombrados"),
	new Array("1winos agua.jpg", "500", "375", "Acicalándose en el agua"),
	new Array("2charla12.jpg", "500", "375", "Ricardo Correa dando charla"),
	new Array("2charla14.jpg", "500", "375", "Público asistente"),
	new Array("2charla15.jpg", "500", "375", "Al resguardo de su cuidador"),
	new Array("2charla 1.jpg", "500", "375", "Charla en los pozones"),
	new Array("2charla 7.jpg", "500", "375", "Los güinos se muestran a los asistentes"),
	new Array("2charla 16.jpg", "500", "375", "Enseñando de la especie a los asistentes"),
	new Array("2winerr.jpg", "500", "375", "Niños observan atentos"),
	new Array("31winos jaula.jpg", "500", "375", "De regreso a los cuidados"),
	new Array("32REINC WINO2.jpg", "500", "375", "Reinserción de las especies"),
	new Array("33reincerc.jpg", "500", "375", "Voluntarios observan alejarse a los pingüinos"),
	new Array("34REINC WINO1.jpg", "500", "375", "Voluntarios 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();
}
