cms.modules.regioplaza =
{
    mediaContainer : null,
    infoContainer : null,
    defaultInfo : null,
    width : 0,
    height : 0,
    cache : new Object(),
    
    showItemInfo : function(linkElement)
    {
        var infoPane = linkElement.parentNode.getElementsByTagName("div")[0];
        if (this.infoContainer && infoPane)
        {
            this.defaultInfo = this.infoContainer.innerHTML;
            this.infoContainer.replaceChild(infoPane, this.infoContainer.getElementsByTagName("ul")[0]);
            this.infoContainer.style.overflow = "auto";
            infoPane.style.display = "block"; 
        }
    },
    
    closeItemInfo : function()
    {
        if (this.defaultInfo)
        {
            this.infoContainer.innerHTML = this.defaultInfo;
            this.infoContainer.style.overflow = "visible";
        }
    },
    
    showItemMedia : function(linkElement)
    {
        this.showItemMediaByLink(linkElement.getAttribute("rel"));
    },
    
    showItemMediaByLink : function(mediaLink)
    {
        var cachedMedia = this.cache[mediaLink];
        if (this.mediaContainer && cachedMedia)
        {
            if (this.mediaContainer.childNodes.length == 0)
            {
                this.mediaContainer.appendChild(cachedMedia);
            }
            else
            {
                this.mediaContainer.replaceChild(cachedMedia, this.mediaContainer.firstChild);
            }
        }
    },
    
    initializeItem : function(mediaLink, embed, show)
    {
        var container = document.createElement("div");
		container.className = "mediaContainer";
        mediaLink = mediaLink.replace(/&amp;/g, "&");
        
        if (embed)
        {
            var swfObject = new SWFObject(mediaLink, mediaLink, this.width, this.height, "8");
            swfObject.addParam("quality", "high");
            swfObject.addParam("allowFullScreen", "true");
            swfObject.write(container);
        }
        else
        {
            var imageElement = document.createElement("img");
            imageElement.src = mediaLink;

            container.appendChild(imageElement);
        }
        this.cache[mediaLink] = container;

        if (show)
        {
            this.showItemMediaByLink(mediaLink);
        }
    },
    
    setMediaContainer : function(containerId, width, height)
    {
        this.width = width;
        this.height = height;
        this.mediaContainer = document.getElementById(containerId);
    },
    
    setInfoContainer : function(containerId)
    {
        this.infoContainer = document.getElementById(containerId);
        this.infoContainer.style.height = this.height + "px";
    }
}
