﻿        var CONST_CYCLE_TIME = 5000 // default refresh images time interval for Platinum

        var __TimoutID = 0;
        
        // set the ads to hidden so that cached photos don't diplay too soon.
        document.write("<style type='text/css'>#imgPicture {visibility:hidden;} </style>");        
    
        window.onload = function() {start()}

        function start()
        {
            document.getElementById("imgPicture").style.visibility = 'visible';

            setTimeout("fnCycleImages()", CONST_CYCLE_TIME);
            
	        document.getElementById("spnLoading").style.display = "none";
	        document.getElementById("spnContents").style.display = "block";            
        }

        
        /////////////////////////////////////
        /// IMAGE FADING FUNCTIONS
        ////////////////////////////////////
        function initImage(imageId) {
          var image = document.getElementById(imageId);
          if(image)
          {
              setOpacity(image, 0);
              image.style.visibility = 'visible';
              
              fadeIn(imageId,0);
          }
        }    

        function setOpacity(obj, opacity) {
          opacity = (opacity == 100)?99.999:opacity;
          
          // IE/Win
          obj.style.filter = "alpha(opacity:"+opacity+")";
          
          // Safari<1.2, Konqueror
          obj.style.KHTMLOpacity = opacity/100;
          
          // Older Mozilla and Firefox
          obj.style.MozOpacity = opacity/100;
          
          // Safari 1.2, newer Firefox and Mozilla, CSS3
          obj.style.opacity = opacity/100;
        }
    
        function fadeIn(objId,opacity) {
          if (document.getElementById) {
            obj = document.getElementById(objId);
            if (opacity <= 100) {
              setOpacity(obj, opacity);
              opacity += 10;
              window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
            }
          }
        }


        /////////////////////////////////////
        /// AD SWAPPING FUNCTIONS
        ////////////////////////////////////                
        function fnCycleImages()
        {
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.onreadystatechange = function()
            {
	            if(xmlhttp.readyState == 4)
	            {
                    var xmlDoc = xmlhttp.responseXML
                    var serializer = new XMLSerializer();

                    fnIterateXml(xmlDoc);
                }
            };
            
            var guid = document.getElementById('imgPicture').getAttribute("guid");
            var sUrl = "HomeRotator.aspx?guid=" + guid;
            
            xmlhttp.open("GET", sUrl, true);
            xmlhttp.send(null);
        }
        
        function fnIterateXml(xmlDoc)
        {
            if(xmlDoc.firstChild)
            {
                fnHideAll();
                
                var adList = xmlDoc.firstChild.childNodes;

                for(var i = 0; i < adList.length; i++)
                {
                    var AdNode = adList[i];
                    if(AdNode.nodeType == 1)
                    {
                        var sSrc = Sarissa.getText(fnSelectSingleNode(AdNode, "Image"), false);
                        fnReplaceImage(sSrc);
                    }
                }
                
                __TimoutID = setTimeout("fnCycleImages()", CONST_CYCLE_TIME);
            }
        }
        
        function fnReplaceImage(sSrc)
        {
            var imageId = 'imgPicture';
            var image = document.getElementById(imageId);
            
            image.src = "/Attachment/ViewSecureAttachment.aspx?fid=" + sSrc;
            image.setAttribute("guid", sSrc);
            
            document.getElementById(imageId).style.display = "block";
            initImage(imageId);
        }
        
        function fnHideAll()
        {
            document.getElementById('imgPicture').style.display = "none";
        }
        
        function fnSelectSingleNode(node, nodeName)
        {
            var returnNode;
            for(var i = 0;i < node.childNodes.length;i++)
            {
                var childNode = node.childNodes[i];
                if(childNode.nodeName == nodeName)
                {
                    returnNode = childNode;
                    break;
                }
            }    
            
            return returnNode;    
        }
        
    function getElementTextNS(prefix, local, parentElem, index) {
        var result = "";
        if (prefix && isIE) {
            // IE/Windows way of handling namespaces
            result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
        } else {
            // the namespace versions of this method 
            // (getElementsByTagNameNS()) operate
            // differently in Safari and Mozilla, but both
            // return value with just local name, provided 
            // there aren't conflicts with non-namespace element
            // names
            result = parentElem.getElementsByTagName(local)[index];
        }
        if (result) {
            // get text, accounting for possible
            // whitespace (carriage return) text nodes 
            if (result.childNodes.length > 1) {
                return result.childNodes[1].nodeValue;
            } else {
                return result.firstChild.nodeValue;    		
            }
        } else {
            return "n/a";
        }
    }        