jQuery(hookupSlidingBanner);

var BUTTON_WIDTH = 40;

var banners;
var leftButton;
var rightButton;
var index = 0;
var interval;

function hookupSlidingBanner() {
    banners = jQuery('div.slide');
    leftButton = leftButton();
    rightButton = rightButton();
    banners.parent().parent().prepend(rightButton).prepend(leftButton).parent().parent().hover(showButtons, hideButtons);
    if (banners.is('.auto'))
        interval = setInterval(transition(1), 10000);
}

function transition(direction) {
    return function() {
        index += direction;
        banners.animate(getAnimation(direction), 1000, "easeInOutCubic", showButtons);
        if (index < 1) {
            leftButton.hide();

            if (banners.is('.auto')) {
                clearInterval(interval);
                interval = setInterval(transition(1), 10000);
            }
        }
        if (index == banners.length - 1) {
            rightButton.hide();

            if (banners.is('.auto')) {
                clearInterval(interval);
                interval = setInterval(transition(-1), 10000);
            }
        }
        return false;
    }
}

function getAnimation(direction) {
    var operator = direction == 1 ? "-=" : "+=";
    return { left: operator + (banners.width()) }
}

function leftButton() {
    var button = jQuery('<a class="left_button" href="#"></a>');
    button.click(transition(-1));
    button.hide();
    return button;
}

function rightButton() {
    var button = jQuery('<a class="right_button" href="#"></a>');
    button.click(transition(1));
    button.hide();
    return button;
}

function showButtons() {

    if (index > 0 && leftButton.is(":not(:visible)")) {
		
        leftButton.show("slide", { direction: "left" }, "fast");
    }
    if (index != banners.length - 1 && rightButton.is(":not(:visible)")) {
        rightButton.show("slide", { direction: "right" }, "fast");
    }
	

}


function hideButtons() {
	/*
    if (leftButton.is(":visible")) {
        leftButton.hide("slide", { direction: "left" }, "fast");
    }
    if (rightButton.is(":visible")) {
        rightButton.hide("slide", { direction: "right" }, "fast");
    }
	*/
}

