﻿
function showCaseCycle(brandlist, timeout, clientId) {
    var brands = brandlist;
    var interval = timeout;
    var currentBrand = 0;
    var localId = '#' + clientId;
    var parentContainer = jQuery(localId + ' .brand-logo-container');

    setInterval(cycleBrand, interval);

    // Center if already loaded..
    centerImage(jQuery(localId + ' img'), parentContainer);
    
    // Center if not yet loaded..
    jQuery(localId + ' img').load(function () {
        centerImage(jQuery(this), parentContainer);
    });
    
    function cycleBrand() {
        currentBrand++;
        
        if(currentBrand >= brands.length) {
            currentBrand = 0;
        }
        
        var brand = brands[currentBrand];
        var showcaseElement = jQuery(localId);
        showcaseElement.find('img').unbind("load").load(function () {
            showcaseElement.find('a').attr('href', brand.url);
            showcaseElement.find('p').html(brand.description);
            
            if (brand.title.length > 0) {
                showcaseElement.find('h4').html(brand.title).show();
            }
            else {
                showcaseElement.find('h4').hide();
            }
            
            centerImage(jQuery(this), parentContainer);
        }).attr('src', brand.image);
    }

    function matchHeight(src, dest, min) {
        var height = jQuery(src).height();
        if (height < min) { height = min; }

        if (height > jQuery(dest).height()) {
            jQuery(dest).css("height", height);
        }
    }

    function centerImage(image, parentContainer) {
        if (jQuery(".landing-page").length > 0) {
            matchHeight(localId + " .brand-text-container", localId + " .brand-logo-container", 82);
        }

        var imageHeight = image.height();
        var imageWidth = image.width();
        var imageVerticalMidpoint = imageHeight / 2;
        var imageHorizontalMidpoint = imageWidth / 2;

        var containerHeight = parentContainer.height();
        var containerWidth = parentContainer.width();
        var containerVerticalMidpoint = containerHeight / 2;
        var containerHorizontalMidpoint = containerWidth / 2;
        image.css("top", containerVerticalMidpoint - imageVerticalMidpoint);
        image.css("left", containerHorizontalMidpoint - imageHorizontalMidpoint);
    }
}

