var hes;
if (!hes) hes = {};

hes.imgLoader = {
    nextImage: 1,
    imageWidth: 370,
    imageHeight: 200,
    imageTimeout: 5000,
    
    getImages: function() {
        var images = [];
        var imgCont = document.getElementById('imgContainerLoaded');
        images = imgCont.getElementsByTagName('img');
        
        return images;
    },
    
    setOpacity: function(el, opacity) {
        opacity /= 100;
        
        el.style.opacity = opacity;
        el.style.MozOpacity = opacity;
        el.style.filter = "alpha(opacity=" + (opacity * 100) + ")";
    },
    
    fadeImage: function(el, currentOpacity) {
        var oThis = this;
        currentOpacity += 1;
        
        if (currentOpacity > 100) {
            oThis.setOpacity(el, 100);
            var prevEl = el.previousSibling ? el.previousSibling : el.parentNode.lastChild;
            prevEl.style.visibility = 'hidden';
            el.style.zIndex = 1;
            window.setTimeout(oThis.startFading, oThis.imageTimeout);
        } else {
            oThis.setOpacity(el, currentOpacity);
            window.setTimeout(function() { oThis.fadeImage(el, currentOpacity); }, 1);
        }
    },
    
    startFading: function() {
        var el = document.getElementById('imgLoader').childNodes[hes.imgLoader.nextImage];
        var img = hes.imgLoader.getImages();
        
        el.style.visibility = 'visible';
        el.style.zIndex = 2;
        hes.imgLoader.setOpacity(el, 0);
        hes.imgLoader.fadeImage(el, 0);
        
        hes.imgLoader.nextImage = (hes.imgLoader.nextImage < img.length - 1) ? hes.imgLoader.nextImage + 1 : 0;
    },
    
    pageLoad: function() {
        var oThis = this;
        var el = document.getElementById('imgLoader');
        var img = hes.imgLoader.getImages();
        
        while (el.firstChild) {
            el.removeChild(el.firstChild);
        }
        
        for (var i = 0; i < img.length; i++) {
            var t = document.createElement('IMG');
            t.setAttribute('src', img[i].src);
            t.setAttribute('width', oThis.imageWidth);
            t.setAttribute('height', oThis.imageHeight);
            t.style.position = 'absolute';
            t.style.visibility = 'hidden';
            el.appendChild(t);
        }
        
        el.firstChild.style.visibility = 'visible';
        window.setTimeout(oThis.startFading, oThis.imageTimeout);
    }
}

hes.functions.addEvent(window, 'load', function() {hes.imgLoader.pageLoad();});
