var PTLgallery = new Class({
	//http://www.mootorial.com/wiki/mootorial/02-class#classes
	//Extends:,
	//http://www.mootorial.com/wiki/mootorial/02-class/01-class.extras#the-options-class
	//Implements: [Chain, Options, Events],
	options: {
		image_load: 0,
		image_container: 'imagem',
		image_source: 'fotenha',
		image_extesion: '.jpg',
		image_path: 'arquivos/',
		thumb_container: 'fotinhos',
		thumb_size: 130, //incluindo bordas
		thumb_trilha: 520,
		thumb_left: 0
	},
	initialize: function() {
		ops = this;
		this.image_container = $(this.options.image_container);
		this.image_source = $(this.options.image_source);
		this.esquerda = $('esquerda');
		this.direita = $('direita');
		this.thumbesquerda = $('retorna');
		this.thumbdireita = $('percorre');
		this.thumb_container = $(this.options.thumb_container);
		this.requisicao();
	},
	requisicao: function(opa) {
		if(!opa){
			opa = 'destaque';
			}
		new Request.JSON({
			url: 'http://www.ronaldoinc.art.br/home/imgjson/'+opa,
			secure: false,
			method: 'get',
			onComplete: function(images) {
				ops.images = images;
				if(ops.images.length <= 4) {
					ops.thumbesquerda.fade(0);
					ops.thumbdireita.fade(0);
				}
				else {
					ops.thumbesquerda.fade(1);
					ops.thumbdireita.fade(1);
				}
				ops.transicao().start(0);
				//Galeria horizontal
				ops.thumb_container.empty();
				ops.contador = 0;
				ops.images.each(ops.mostra);
				$$('.thumbs').addEvent('click', function() {
					ops.options.image_load = this.getProperty('rel');
					ops.transicao().start(0);
				});
				ops.thumb_container.set('tween', {duration: 'long'});
				ops.thumb_container.tween('left', 0);
			}
		}).send();
	},
	navegar: function(direction) {
		if (this.fading) return;
		(direction == '+') ?
			ops.options.image_load++ :
			(direction == '-') ?
					ops.options.image_load-- :
					ops.options.image_load;
		this.transicao().start(0);
	},
	verifica: function() {
		(ops.options.image_load == 0) ?
			ops.esquerda.fade(0) :
			ops.esquerda.fade(1);
		((ops.images.length - 1) == ops.options.image_load) ?
			ops.direita.fade(0) :
			ops.direita.fade(1);
	},
	transicao: function() {
		return new Fx.Tween(ops.image_source, {
			property: 'opacity',
			link: 'cancel',
			onStart: function() {
				ops.fading = true;
			},
			onComplete: function() {
				ops.redimensiona();
				total = ops.options.image_load;
				$('ftotal').set('text', ops.images.length);
				$('fatual').set('text', ++total);
				$('fnome').set('text', ops.images[ops.options.image_load].nome);
			},
			onCancel: function() {
				alert('cancelado');
				//console.log('cancelado');
			}
		});
	},
	getImagePath: function(current) {
		return this.options.image_path + current + this.options.image_extesion;
	},
	redimensiona: function() {
		ops.verifica();
		new Asset.image(cuca = ops.getImagePath(ops.images[ops.options.image_load].id), {
			onload: function() {
				//console.log(cuca);
				ops.image_source.set({ src: cuca }).fade(0);
				var myEffect = new Fx.Morph(ops.image_container, {
					onComplete: function() {
						ops.image_source.fade(1);
						ops.fading = false;
					}
				}).start({
					width: ops.image_source.offsetWidth,
					height: ops.image_source.offsetHeight
				});
			}
		});
	},
	mostra: function(element) {
		var ovo = new Element('img', {
			src: ops.getImagePath(element.id+'_t'),
			'class': 'thumbs',
			rel: ops.contador
		}).inject(ops.thumb_container);
		ops.contador++;
	},
//Thumbs
	varia: function() {
		largura = (ops.images.length * ops.options.thumb_size);
		ops.options.thumb_left = ops.options.thumb_left - ops.options.thumb_trilha;
		if(ops.options.thumb_left*-1 >= largura)
			ops.options.thumb_left = 0;
		ops.thumb_container.set('tween', {duration: 'long'});
		ops.thumb_container.tween('left', ops.options.thumb_left);
	},
	volta: function() {
		largura = (ops.images.length * ops.options.thumb_size);
		ops.options.thumb_left = ops.options.thumb_left + ops.options.thumb_trilha;
		if(ops.options.thumb_left > 0) {
			thumbpages = Math.ceil((ops.images.length*ops.options.thumb_size)/ops.options.thumb_trilha);
			ops.options.thumb_left = (((thumbpages*ops.options.thumb_trilha)-ops.options.thumb_trilha)*-1);
		}
		ops.thumb_container.set('tween', {duration: 'long'});
		ops.thumb_container.tween('left', ops.options.thumb_left);
	}
});

var start = function() {
	
	new FormCheck('leads');

	var myPTLgallery = new PTLgallery();

	$('direita').addEvents({
		click: function() {
			myPTLgallery.navegar('+');
		}
	});
	$('esquerda').addEvent('click', function() {
			myPTLgallery.navegar('-');
	});

	$$('.lino').addEvent('click', function() {
		myPTLgallery.requisicao(this.getElement('a').getProperty('rel'));
		myPTLgallery.image_load = 0;
		
		$$('.lino').getElement('a').set('class', 'menudesativo');
		this.getElement('a').set('class', 'menuativo');
	});

	$('contato').addEvent('click', function () {
		$('central').setStyle('display','none');
 		$('telacheia').setStyle('display','block');
		$('telacheia').setStyle('z-index','0');
		$$('.fc-tbx').setStyle('display','block');
	});
	
	$('telacheiafecha').addEvent('click', function() {
		$('telacheia').setStyle('display','none');
		$('central').setStyle('display','block');
		$$('.fc-tbx').setStyle('display','none');
	});

	$('agenda').addEvent('click', function () {
 		$('agendacheia').setStyle('display','block');
	});

	$('percorre').addEvent('click', function() {
		myPTLgallery.varia();
	});

	$('retorna').addEvent('click', function() {
		myPTLgallery.volta();
	});

/*
	$('mcontato').addEvent('click', function() {
		$('biografia').set('tween', {duration: 'long'}).tween('left', -2000);
		$('agenda').set('tween', {duration: 'long'}).tween('left', -2000);
		$('entrada').set('tween', {duration: 'long'}).tween('left', -2000);
		$('contato').set('tween', {duration: 'long'}).tween('left', 10);
	});

	$('magenda').addEvent('click', function() {
		$('biografia').set('tween', {duration: 'long'}).tween('left', -2000);
		$('agenda').set('tween', {duration: 'long'}).tween('left', 10);
		$('entrada').set('tween', {duration: 'long'}).tween('left', -2000);
		$('contato').set('tween', {duration: 'long'}).tween('left', -2000);
	});
*/

};

window.addEvent('domready', start);
