var galbuts;
var active;
var cur_cycle;
var cycle_timeout;
var pics_list;

function isInt(x) { 
   var y=parseInt(x); 
   if (isNaN(y)) return false; 
   return x==y && x.toString()==y.toString(); 
} 

function findA(aLink) {
	for (var i=0; i<galbuts.length; i++) {
		if (aLink == galbuts[i]) {
			return i;
		}
	}
}

function gotoPic(index) {
	if (active == index) return;
	if (isInt(active)) {
		galbuts[active].setStyle('background-position', '0 0');
		pics_list.setStyle('z-index', -1);
		pics_list[active].setStyle('z-index', 0);
	}
	active = index;
	pics_list[index].setStyles({'z-index': 1, 'opacity':0});
	pics_list[index].morph({'opacity': [0, 1]});		
	galbuts[index].setStyle('background-position', '-21px 0');
}

function toMine() {
	var a_index = findA(this);
	gotoPic(a_index);
	clearTimeout(cycle_timeout);
	cycle_timeout = setTimeout(cycle, 7500);
	cur_cycle = a_index;
	return false;
}

function cycle() {
	if (cur_cycle == galbuts.length-1) {
		cur_cycle = 0;
	} else {
		cur_cycle++;
	}
	gotoPic(cur_cycle);
	cycle_timeout = setTimeout(cycle, 5000);
}

window.addEvent('domready', function()
{	
	galbuts = $('pics_menu').getElements('a');
	pics_list = $('pics').getElements('img');	
	if (pics_list.length != galbuts.length) {
		$('pics_menu').getElements('a').setStyle('cursor', 'text');
		$('pics_menu').getElements('a').setStyle('display', 'inline');
		return;
	}
	$('pics').set('morph', {duration: 500, transition: Fx.Transitions.Quad.easeInOut});	
	galbuts.reverse();
	galbuts[0].setStyle('background-position', '-21px 0');
	cur_cycle = 0;
	active = 0;
	cycle_timeout = setTimeout(cycle, 5000);	
	for (var i=0; i<galbuts.length; i++) {
    pics_list[i].setStyle('opacity', 0);
		galbuts[i].set('morph', {duration: 350});
		galbuts[i].getParent().set('morph', {duration: 350});
		galbuts[i].addEvents({
									 'mouseleave': function(){
															if (findA(this) != active) {
																this.setStyle('background-position', '0 0');
															}
													   },
									 'mouseover' : function(){
										 					if (findA(this) != active) {
																this.setStyle('background-position', '-21px 0');
															}
													   },
									 'click'     : toMine
									 });
	}
	pics_list[0].setStyle('opacity', 1);
}
);
