var gallery;
var LR;
var links;
var doRotate = true;

function LRhilite() {
	i = links.children('a:first').attr('data-number');
	$('.linkNumbers a').removeClass('LRhilite');
	$('.linkNumbers a[data-number='+i+']').addClass('LRhilite');
}

function rotate() {
	if(doRotate) {
		links.children('a:first').fadeOut('fast',function(){
			$(this).remove().appendTo(links).show();
			LRhilite();
		});
		setTimeout(rotate,links.children('a:first').attr('data-pause')*1000);
	}
}

function LRnext() {
	doRotate = false;
	links.children('a:first').fadeOut('fast',function(){
		$(this).remove().appendTo(links).show();
		LRhilite();
	});
}

function LRprev() {
	doRotate = false;
	links.children('a:first').fadeOut('fast',function(){
		links.children('a:last').remove().prependTo(links);
		$(this).show();
	});
}

function LRshowThis(clicked){
	console.log(clicked);
	doRotate = false;
	var cLnk = links.children('a:first').attr('data-number');
	var tLnk = clicked.attr('data-number');
	console.log('Current: ' + cLnk);
	console.log('Target: ' + tLnk);
	if(cLnk != tLnk) links.children('a:first').fadeOut('fast',function(){
		while(cLnk != tLnk) {
			links.children('a:first').remove().appendTo(links).show();
			cLnk = links.children('a:first').attr('data-number'); 
		}
		LRhilite();
	});
}; 

function LRsetHooks() {
	$('.linkRotator .next').click(function(){LRnext($(this))});
	$('.linkRotator .prev').click(function(){LRprev($(this))});
	$('.linkRotator .linkNumbers a').click(function(){LRshowThis($(this))});
}


$(document).ready(function(){
	LR = $('div.linkRotator');
	xmlPath = LR.text();
	LR.text('');
	LR.append('<div class="links"></div>');
	LR.append('<span class="prev">-</span>');
	LR.append('<span class="next">+</span>');
	LR.append('<div class="linkNumbers"></div>');
	links = LR.children('.links');

	$.get(xmlPath,function(data){
		gallery = $(data).children('gallery');
		album = gallery.children('album');
		gw = gallery.attr('w');
		gh = gallery.attr('h');

		LR.css('width',gw+'px');
		LR.css('height',gh+'px');

		LR.children('.links').css('width',gw+'px');
		LR.children('.links').css('height',gh+'px');

		var i = 0;

		album.children().each(function(){
			img = $(this);
			i = i+1;
			links.append('<a data-number="'+i+'" data-pause="'+img.attr('pause')+'" href="'+img.attr('link')+'"><img width="'+gw+'" height="'+gh+'" src="'+album.attr('lgPath')+img.attr('src')+'"></a>');
			LR.children('.linkNumbers').append('<a data-number="'+i+'">'+ String('00'+i).slice(-2) +'</a>');
		});
		LR.show();
		LRsetHooks();
		LRhilite()
		setTimeout(rotate,links.children('a:first').attr('data-pause')*1000);		
	});
});
