/* Carousel */

/* setup */
var carousels = [ 
    { 
        'container' : 'partnerList',
        'elementId': 'partnerListHide',
        'prevId': 'partnerPrev',
        'nextId': 'partnerNext',
        'width': 145 
     }
]

addLoadEvent(initCarousel);

function initCarousel()
{
    // creating Carousel objects
    for (var i = 0; i < carousels.length; i++) {
        new Carousel(carousels[i]);
    }
}

/* class Carousel */
function Carousel(carousel) 
{
    
    // private members
    var id = carousel.elementId; // component identyficator 
    var width = carousel.width;
    var div = document.getElementById(carousel.elementId);
    var container = document.getElementById(carousel.container);
    var ul = div.getElementsByTagName('ul')[0];
    var carouselPosition = 0;
    var maxwidth = (ul.getElementsByTagName('li').length * width) - 4 * width;
    var next = null;
    var prev = null;
    var that = this;
       
    addClass(div, 'carousel');
    
    prev = document.getElementById(carousel.prevId);
	prev.onclick = function() {
		if ((carouselPosition + width) < width) {
			carouselPosition = carouselPosition + width;
            if (window.console && console.firebug) console.info("carouselPosition = ", carouselPosition);
			moveElement(ul, carouselPosition, 0, 1);
            
            remClass(prev,'carouselHide');
            remClass(next,'carouselHide');
            
            if ((carouselPosition == 0)) {
                addClass(this,'carouselHide')
            } 
            return false;
            
		}
	}
    prev.onfocus = function() {
        this.blur();
    }
    
	next = document.getElementById(carousel.nextId);
	next.onclick = function() {
		if ((carouselPosition - width) > -maxwidth) {
			carouselPosition = carouselPosition - width;
            if (window.console && console.firebug) console.info("carouselPosition = ", carouselPosition); 
			moveElement(ul, carouselPosition, 0, 1);

            remClass(prev,'carouselHide');
            remClass(next,'carouselHide');
            
            if (carouselPosition == -(maxwidth-width)) {
                addClass(this,'carouselHide');
            }
            return false;
		}
	}
    next.onfocus = function() {
        this.blur();
    }
	
    container.appendChild(prev);
	container.appendChild(next);
}




/* end */
