var currentImage = null;
var loadingImage = false;
var imageLoadingComplete = false;
var fadingOut = false;
var currentIndex = 0;
var ticksTilNextChange = 0;
var mouseHovering = false;
var changeHoverTicks = 0;
var changeTime = 10 * 30;

var promoImages2 = [
    "hp-absolute-extra3.jpg",
    "hp-absolute-80s.jpg",
    "hp-absolute-90s.jpg",
    "hp-absolute.jpg",
    "hp-amazing.png",
    "hp-bfbs.jpg",
    "hp-classicfm.jpg",
    "hp-jazzfm.png",
    "hp-planet-rock.png",
    "hp-premier.jpg",
    "hp-smooth.png",
    "hp-talksport.png",
    "hp-ucb.jpg",
    "hp-smooth70s-large.jpg"
    ];
var promoUrls2 = [
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/absoluteradioextra.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/absolute80s.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/absolute90s.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/absoluteradio.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/amazingradio.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/bfbsradio.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/classicfm.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/jazzfm.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/planetrock.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/premierchristianradio.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/smoothradio.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/talksport.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/ucbuk.asp",
    "http://www.ukdigitalradio.com/stations/digitalonenetwork/smoothradio70s.asp"
    ];

function initPromo() {
    currentIndex = (Math.random() * promoImages.length) >> 0;
    if (currentIndex >= promoImages2.length) {
        currentIndex = 0;
    }

    loadCurrentImage();

    setInterval(promoUpdate, 33);

    if (isIE6) {
        initPromoIE6();
    }


}

function promoUpdate() {
    ticksTilNextChange--;

    if (ticksTilNextChange <= 0) {
        nextPromo();
    }

    if (changeHoverTicks > 0) {
        changeHoverTicks--;
        if (changeHoverTicks == 0) {
            if (true) {
                if (mouseHovering) {
                    $('#prev').fadeTo('slow', 1, function () {
                    }).pngFix({ blankgif: 'http://www.ukdigitalradio.com/__stage/images/promo/blank.gif' });
                    $('#next').fadeTo('slow', 1, function () {
                    }).pngFix({ blankgif: 'http://www.ukdigitalradio.com/__stage/images/promo/blank.gif' });
                }
                else {
                    $('#prev').fadeTo('slow', 0, function () {
                    }).pngFix({ blankgif: 'http://www.ukdigitalradio.com/__stage/images/promo/blank.gif' });
                    $('#next').fadeTo('slow', 0, function () {
                    }).pngFix({ blankgif: 'http://www.ukdigitalradio.com/__stage/images/promo/blank.gif' });
                }
            }
        }
    }
}

function loadCurrentImage() {
    //alert(promoImages.length);
    loadImg(promoImages2[currentIndex]);
    ticksTilNextChange = changeTime;
}

function loadImg(name) {
    loadingImage = true;
    imageLoadingComplete = false;

    currentImage = new Image();
    currentImage.onload = imageLoaded;
    currentImage.src = "images/promo/" + name;
    currentImage.targetUrl = promoUrls2[currentIndex];
}

function imageLoaded() {
    imageLoadingComplete = true;

    if (!fadingOut) {
        $('#mainImage').attr("href", currentImage.targetUrl);
        $('#homePromoCurrentImage').attr("src", currentImage.src);
        $('#homePromoCurrentImage').fadeIn('fast');
        loadingImage = false;
    }
}

function fadeout() {
    fadingOut = true;
    $('#homePromoCurrentImage').fadeOut('slow', function () {
        fadingOut = false;
        if (imageLoadingComplete) {
            imageLoaded();
        }
    });
}

function prevPromo() {
    currentIndex--;
    if (currentIndex < 0) {
        currentIndex = promoImages2.length - 1;
    }

    fadeout();
    loadCurrentImage();
    return false;
}

function nextPromo() {
    currentIndex++;
    if (currentIndex >= promoImages2.length) {
        currentIndex = 0;
    }

    fadeout();
    loadCurrentImage();
    return false;
}

function promoMouseOver(state) {
    updateHoverState(state);
}

function promoButtonMouseOver(baseURL, dir, id) {
    //$('#' + id + " img").remove();
    //$('#' + id).append("<img src='" + baseURL + "/images/promo/hp-arrow-" + dir + "-hover.png' style='' />");
    //$('#' + id).append(img);

    //$('#' + id + " .normal").hide();
    //$('#' + id + " .hover").show();
    $('#' + id + " img").attr("src", baseURL + "/images/promo/hp-arrow-" + dir + "-hover.png");
    promoMouseOver(true);
}

function promoButtonMouseOut(baseURL, dir, id) {
    //$('#' + id + " img").remove();
    //$('#' + id).add("img");
    //$('#' + id + " img").attr("src", baseURL + "/images/promo/hp-arrow-" + dir + ".png");
    //$('#' + id).add("img").attr("src", baseURL + "/images/promo/hp-arrow-" + dir + ".png");
    //$('#' + id + " .normal").show();
    //$('#' + id + " .hover").hide();
    $('#' + id + " img").attr("src", baseURL + "/images/promo/hp-arrow-" + dir + ".png");
    promoMouseOver(false);
}

function updateHoverState(state) {
    mouseHovering = state;
    changeHoverTicks = 2;
}
