$(function(){

    $("a[rel*='external']").click(function(){
		this.target = "_blank";
	});
    
    if( $('#gallery ul.images').length ) {
		
        var windowSize = $(document).width();
    
        $(document).resize(function(){
            windowSize = $(document).width();
        });
        
        var width = 0;
		var size = $('#gallery ul.images li').length;
        var first = '#g1';
        var last;
        var current = $(first).attr('width');
        var minusW = 180;
        var nextRel;
        var prevRel;
        var minused = 0;
        
		for(var i = 0; i < size; i++) {
			width = width + $('#gallery ul.images li:eq('+i+') img').attr('width');
            last = '#' + $('#gallery ul.images li:eq('+i+') img').attr('id');
		}
	
//        prevRel = size;
		$('#gallery .images').css('width', width +'px');
		$('#gallery .images').css('left', 'auto');
        
        var currentW = -(width-windowSize+minusW);
        $('#gallery .images').css('right', currentW +'px');
        
        var _widths = new Array(size);
        _widths[0] = currentW;
        for(var j = 1; j < size; j++) {
            _widths[j] = _widths[(j-1)] + $('#gallery ul.images li:eq('+(j-1)+') img').attr('width');
        }
        
        $('#gallery .navigation a.scroll-next').click(function() {
            var toID = $(this).attr('href');
            var toRel = parseInt($(this).attr('rel'));
            var toLeft;
            var isLast = false;
            
            if(toID == last || (currentW + current) >= minusW) {
                toLeft = 0 + minusW;
                isLast = true;
                minused = 1;
            } else {
                toLeft = currentW + current;
                minused = 0;
            }
            
            currentW = toLeft;
            
            if(isLast) {
                currentW = -(width-windowSize+minusW);
                current = 0;
                nextRel = 1;
                prevRel = toRel - 1;
            } else {
                current = $(toID).attr('width');
                nextRel = toRel + 1;
                prevRel = toRel == 1 ? size : (toRel - 1);
            }
            
            $(this).attr('href', '#g' + nextRel);
            $(this).attr('rel', nextRel);
            $('#gallery .navigation a.scroll-prev').attr('href', '#g' + prevRel);
            $('#gallery .navigation a.scroll-prev').attr('rel', prevRel);
            
            $('#gallery .images').animate({right: toLeft}, 800);
            
            return false;
        });
        
        $('#gallery .navigation a.scroll-prev').click(function() {
            var toID = $(this).attr('href');
            var toRel = parseInt($(this).attr('rel'));
            var toLeft;
            var isFirst = false;
            
            if(toRel == size) {
                toLeft = 0 + minusW;
                isFirst = true;
                minused = 1;
            } else {
                if(minused == 1) {
                    toLeft = _widths[(size-2)];
                } else {
                    toLeft = currentW - $(toID).attr('width');
                }
                
                minused = 0;
            }
            
            currentW = toLeft;
            
            if(isFirst) {
                currentW = -(width-windowSize+minusW);
                current = 0;
                nextRel = 1;
                prevRel = toRel - 1;
            } else {
                current = $(toID).attr('width');
                nextRel = toRel + 1;
                prevRel = toRel == 1 ? size : (toRel - 1);
            }
            
            $(this).attr('href', '#g' + prevRel);
            $(this).attr('rel', prevRel);
            $('#gallery .navigation a.scroll-next').attr('href', '#g' + nextRel);
            $('#gallery .navigation a.scroll-next').attr('rel', nextRel);
            
            $('#gallery .images').animate({right: toLeft}, 800);
            
            return false;
        });
	}
});
