var loaded = [], imgs = [], cur = 0, loading = false;
var url = false;

function fireBackground(href) {
    $('#slides .activeslide').addClass('prevslide').removeClass('activeslide');
    $('#slides .nextslide').hide().attr('src', href).removeClass('nextslide').addClass('activeslide').fadeIn(500);
    $('#slides .prevslide').removeClass('prevslide').addClass('nextslide');
}

function loadImage(index) {
    if (jQuery.inArray(imgs[index], loaded) < 0) {
        loading = true;
        //$('#loading').show();
        $.cacheImage(imgs[index], {
            load : function (e) {
                loaded.push(imgs[index]);
                fireBackground(imgs[index]);
                loading = false;
                //$('#loading').hide();
            }
        });
    } else {
        fireBackground(imgs[index]);
    }
}

function shiftImage(direction) {
    if (!loading) {
        cur = cur + direction;
        if (cur < 0) {
            cur = imgs.length - 1;
        } else if (cur >= imgs.length) {
            cur = 0;
        }
        loadImage(cur);
    }
    return false;
}

function initGallery(images, start) {
    cur = typeof start == 'number' ? start : 0;
    imgs = images;
    loaded.push(imgs[cur]);
    $('#toggle_left').click(function() { shiftImage(-1); return false; });
    $('#toggle_right').click(function() { shiftImage(1); return false; });
}

jQuery().ready(function() {
    $('a').each(function() {
        $(this).bind('click', function() {
            if (this.blur) {this.blur();}
        });
    });
    if ($('#ensemble-header').length) {
        var ens = $('#ensemble-header');
        $('#ensemble-header a').each(function() {
            var tooltip = $('<div class="tooltip">' + 
                '<span class="tl"></span>' + 
                '<span class="tm">' + $(this).text() + '</span>' + 
                '<span class="tr"></span>' + 
                '</div>').appendTo($(ens)).hide();
            var a = $(this);
            
            $(this).hoverIntent({
                'over': function() {
                    $(tooltip).css({
                        'left': $(a).position().left + $(a).width() - 6,
                        'top': $(a).position().top - 1
                    });
                    $(tooltip).fadeIn();
                }, 
                'out': function() {
                    $(tooltip).fadeOut();
                },
                'timeout': 1000
            });
        });
    }
});