
// preloads images
var preLoadImgs = function(currentImg,totalImages,loadAfter,imgPath,fn) {
            
    var preLoaded = 0;

    var getNextImg = function() {
        if(currentImg+1 > totalImages-1) {
            currentImg = 0;
        }
        else {
            currentImg++;
        }
        return currentImg;
    };
    
    var getImgPath = function(pointer) {
        if(YAHOO.lang.isArray(imgPath)) {
            return imgPath[pointer];
        }
        else {
            return imgPath.replace("{0}", pointer);
        }
    };
    
    var loadNext = function() {
        if(preLoaded == loadAfter) {
            fn.call();
        }
        
        preLoaded++;
        
        if(preLoaded <= totalImages) {
            preload(getNextImg());
        }
    };
    
    var preload = function(pointer) {
        var preloadImg = document.createElement('img');
        document.getElementsByTagName("body")[0].appendChild(preloadImg);
        YAHOO.util.Dom.setStyle(preloadImg,'visibility','hidden');
        YAHOO.util.Dom.setStyle(preloadImg,'width','1px');
        YAHOO.util.Dom.setStyle(preloadImg,'height','1px');
        YAHOO.util.Dom.setStyle(preloadImg,'position','absolute');
        YAHOO.util.Dom.setStyle(preloadImg,'top','0');
        YAHOO.util.Dom.setStyle(preloadImg,'left','0');
        
        YAHOO.util.Event.addListener(preloadImg,'load',loadNext);
        preloadImg.src = getImgPath(pointer);
    };

    preload(currentImg);

}


// slideshow used on homepage, residents, entertaining
var slideShow = function(currentImg, totalImages, frontEl, backEl, imgPath) {
    
    var getNextImg = function() {
        if(currentImg+1 > totalImages-1) {
            currentImg = 0;
        }
        else {
            currentImg++;
        }
        return currentImg;
    };
    
    var getImgPath = function(pointer) {
        if(YAHOO.lang.isArray(imgPath)) {
            return imgPath[pointer];
        }
        else {
            return imgPath.replace("{0}", pointer);
        }
    };
            
    var loadNext = function(action,stats,obj) {
        YAHOO.util.Dom.setStyle(obj.el,'backgroundImage','url('+getImgPath(getNextImg())+')');
        setTimeout(obj.fn,5000);
    };
    
    var fadeIn = function() {
        var myAnim = new YAHOO.util.Anim(frontEl, {
            opacity: { to: 1 } 
        }, .5);
        myAnim.onComplete.subscribe(loadNext,{el:backEl,fn:fadeOut}); 
        myAnim.animate();
    };
    
    var fadeOut = function() {
        var myAnim = new YAHOO.util.Anim(frontEl, {
            opacity: { to: 0 } 
        }, .5);
        myAnim.onComplete.subscribe(loadNext,{el:frontEl,fn:fadeIn}); 
        myAnim.animate();
    };
    
    YAHOO.util.Dom.setStyle(frontEl,'backgroundImage','url('+getImgPath(currentImg)+')');
    setTimeout(fadeIn,2500);

};
