            var preloadImages = false;
            var imageCount = 7;
            var avoidRepeatSize = Math.round(imageCount / 5 * 4) - 1;
            var changeInterval = 10;
            var basePath = getPath("Project", "Core") + "images/frame/";
            var previousHeaderNumbers = new Array();
            var isChanging = false;
            var fixedImage = 6;

            if (preloadImages)
            {            
                var headerImages = new Array();
            
                for (var i = 1; i <= imageCount; i++)
                {
                    var nextImage = new Image();
                    nextImage.src = basePath + "head" + i + ".jpg";
                    nextImage.width = 600;
                    nextImage.height = 150;

                    headerImages[i] = nextImage;
                }
            }

            function changeHeaderImage(rotateFlag)
            {
                if (document.getElementById && ! isChanging)
                {
                    isChanging = true;

                    var headerImage = document.getElementById("HeaderImage");

                    fadeOut("HeaderImage", 100, 0, "switchToNextHeader(1," + rotateFlag + ")");
                }
            }
            
            function switchToNextHeader(fadeInFlag, rotateFlag)
            {
                if (document.getElementById)
                {
                    var headerImage = document.getElementById("HeaderImage");

                    if (fixedImage == -1)
                    {
                        imageNumber = Math.round(Math.random() * (imageCount + 1));
                    
                        if (imageNumber == 0 || imageNumber > imageCount ||
                            arrayValueExists(previousHeaderNumbers, imageNumber))
                        {
                            return switchToNextHeader(fadeInFlag, rotateFlag);
                        }
                    
                        if (previousHeaderNumbers.length > 0 &&
                            previousHeaderNumbers.length >= avoidRepeatSize)
                        {
                            previousHeaderNumbers.shift();
                        }

                        if (previousHeaderNumbers.length < avoidRepeatSize)
                        {
                            previousHeaderNumbers.push(imageNumber);
                        }
                    }
                    else
                    {
                        imageNumber = fixedImage;
                    }
                
                    if (preloadImages)
                    {            
                        headerImage.src = headerImages[imageNumber].src;
                    }
                    else
                    {
                        headerImage.src = basePath + "head" + imageNumber + ".jpg";
                    }
                    
                    if (fadeInFlag == 1)
                    {
                        fadeIn("HeaderImage", 0);
                    }
                    else
                    {
                        setOpacity(headerImage, 100);
                    }

                    if (rotateFlag == 1)
                    {
                        window.setTimeout("changeHeaderImage(1)", changeInterval * 1000);
                    }
                    
                    isChanging = false;
                }
            }

            function fadeIn(objectID, opacity)
            {
                if (document.getElementById)
                {
                    var object = document.getElementById("HeaderImage");
		        
                    if (opacity <= 100)
                    {
			            setOpacity(object, opacity);

			            opacity += 1;
			
                        window.setTimeout("fadeIn('"+objectID+"',"+opacity+")", 0);
		            }
                }
	        }

            function fadeOut(objectID, opacity, limit, action)
            {
                if (document.getElementById)
                {
                    var object = document.getElementById("HeaderImage");
		        
                    if (opacity > limit)
                    {
			            setOpacity(object, opacity);

			            opacity -= 1;
			
                        window.setTimeout("fadeOut('" + objectID + "', " + opacity + ", " + limit + ", '" + action + "')", 0);
		            }
                    else
                    {
                        window.setTimeout(action, 0);
                    }
                }
	        }

            function setOpacity(object, opacity)
            {
	            opacity = (opacity >= 100) ? 99.999 : opacity;
	            opacity = (opacity < 0) ? 0 : opacity;
	            object.style.filter = "alpha(opacity:" + opacity + ")";
	            object.style.KHTMLOpacity = opacity / 100;
	            object.style.MozOpacity = opacity / 100;
	            object.style.opacity = opacity / 100;
            }

