jQuery(document).ready(function () { // PAGE LOADED...
	// CONTENT SLIDER
	jQuery('#slider').cycle({
      fx: 'scrollVert',
      speed: 1000,
      pause: 1,
      timeout: 7000,
      delay: 500,
      prev: '#slider-next',
      next: '#slider-prev'
    });
    
    //jQuery('.campaign').wrapInner('<div class="pad" />').wrapInner('<div class="site-width" />');
    jQuery('.campaign.big-link').click(function(event){ 
     	window.location=jQuery(this).find("a").attr("href");
     	return false;
     });

    // THIS IS NEW CODE FOR THE AUTOMATIC INFINITE CAROUSEL
    var autoscrolling = true;
    
    jQuery('.infiniteCarousel').infiniteCarousel().mouseover(function () {
        autoscrolling = false;
    }).mouseout(function () {
        autoscrolling = true;
    });
    
    setInterval(function () {
        if (autoscrolling) {
            jQuery('.infiniteCarousel').trigger('next');
        }
    }, 5000);
});

jQuery(window).resize(function() { // PAGE RESIZED...
	jQuery('.campaign').width('100%');
});




(function () {
    jQuery.fn.infiniteCarousel = function () {
        function repeat(str, n) {
            return new Array( n + 1 ).join(str);
        }
        
        return this.each(function () {
            // magic!
            var jQuerywrapper = jQuery('> div', this).css('overflow', 'hidden'),
                jQueryslider = jQuerywrapper.find('> ul').width(9999),
                jQueryitems = jQueryslider.find('> li'),
                jQuerysingle = jQueryitems.filter(':first')
                
                singleWidth = jQuerysingle.outerWidth(),
                visible = Math.ceil(jQuerywrapper.innerWidth() / singleWidth),
                currentPage = 1,
                pages = Math.ceil(jQueryitems.length / visible);
                
            /* TASKS */
            
            // 1. pad the pages with empty element if required
            if (jQueryitems.length % visible != 0) {
                // pad
                jQueryslider.append(repeat('<li class="empty" />', visible - (jQueryitems.length % visible)));
                jQueryitems = jQueryslider.find('> li');
            }
            
            // 2. create the carousel padding on left and right (cloned)
            jQueryitems.filter(':first').before(jQueryitems.slice(-visible).clone().addClass('cloned'));
            jQueryitems.filter(':last').after(jQueryitems.slice(0, visible).clone().addClass('cloned'));
            jQueryitems = jQueryslider.find('> li');
            
            // 3. reset scroll
            jQuerywrapper.scrollLeft(singleWidth * visible);
            
            // 4. paging function
            function gotoPage(page) {
                var dir = page < currentPage ? -1 : 1,
                    n = Math.abs(currentPage - page),
                    left = singleWidth * dir * visible * n;
                
                jQuerywrapper.filter(':not(:animated)').animate({
                    scrollLeft : '+=' + left
                }, 700, function () {
                    // if page == last page - then reset position
                    if (page > pages) {
                        jQuerywrapper.scrollLeft(singleWidth * visible);
                        page = 1;
                    } else if (page == 0) {
                        page = pages;
                        jQuerywrapper.scrollLeft(singleWidth * visible * pages);
                    }
                    
                    currentPage = page;
                });
            }
            
            // 5. insert the back and forward link
            jQuerywrapper.after('<a href="#" class="arrow back">&lt;</a><a href="#" class="arrow forward">&gt;</a>');
            
            // 6. bind the back and forward links
            jQuery('a.back', this).click(function () {
                gotoPage(currentPage - 1);
                return false;
            });
            
            jQuery('a.forward', this).click(function () {
                gotoPage(currentPage + 1);
                return false;
            });
            
            jQuery(this).bind('goto', function (event, page) {
                gotoPage(page);
            });
            
            // THIS IS NEW CODE FOR THE AUTOMATIC INFINITE CAROUSEL
            jQuery(this).bind('next', function () {
                gotoPage(currentPage + 1);
            });
        });
    };
})(jQuery);