﻿function thumbnail() 
{
    var obj = null;
    var vid = null;
    
    var vis = 0.0;
    var inc = true;
        
    var self = this;
    
    var cIndex = 0;
    
    this.init = init;    
    this.doBlend = doBlend;
    this.show = show;
    this.hide = hide;
    
    
    function init(op, o, v)
    {
        vid = v;
        
        vid.onmouseover=show;
        vid.onmouseout=hide;       
        
        
    }

    function show(e)
    {	
        if (!e) var e = window.event;
        var fromEle = e.relatedTarget ? e.relatedTarget: e.fromElement;
        var toEle = e.target || e.toElement;
        
        
        if (fromEle && toEle)
        {
            if ((fromEle == vid) && (toEle.parentNode == vid))
                return;
                
            if ((fromEle.parentNode == vid) && (toEle == vid))
                return;
        }
        
        vid.className = "vidHover";
        
    }
    
    function hide(e)    
    {
    	if (!e) var e = window.event;
        var fromEle = e.relatedTarget ? e.relatedTarget:e.fromElement;
        var toEle = e.target || e.toElement;
        
        if (fromEle && toEle)
        {
        if ((fromEle.parentNode == vid) && (toEle == vid))
            return;
            
        if ((fromEle == vid) && (toEle.parentNode == vid))
            return;           
        }
        
        vid.className = "vid";
        
    }

    function doBlend()
    {
        if (vis <=0)
            obj.style.display = 'block';
        
        
        if (inc)
        {
            vis+=0.05;
            //obj.style.display = "block";
        }
        else
        {
            vis-=0.05;
            //obj.style.display = "none";
        }            
        
        
        obj.style.opacity = vis;
        obj.style.filter = "alpha(opacity="+vis*100+")";
        
        if ((vis >= 1))
        {
        
            vis = 1;
            loadThumbs();
            return;
        }
        else if (vis <= 0.05 && !inc)
        {
            vis = 0;
            obj.style.display = 'none';
            return;
        }

        setTimeout(function(){self.doBlend();}, 30); 
                        
    }
        
    function loadThumbs()
    {
    
        if (obj.childNodes.length < 3)
        {
        
            xmlHttp=GetXmlHttpObject();
            if (xmlHttp==null)
            {
                alert ("Your browser does not support AJAX! Please upgrade to the latest version of Firefox or Internet Explorer.");
                return;
            }        
                
            var readUrl="/App_AjaxPages/Thumbnails.aspx?t="+vid.id;
            
            xmlHttp.onreadystatechange=applyThumbnails;
            xmlHttp.open("GET",readUrl,true);
            xmlHttp.send(null); 
        }
        else        
        {
            setTimeout(function(){fadeThumbs();}, 500);
        }
    }
    
    function applyThumbnails()
    {
        
        if (xmlHttp.readyState==4)
        { 
            var doc = xmlHttp.responseXML;  
            
            
            var thumbnails = doc.getElementsByTagName("thumbnail");
            
            var imgLarg;
            for (var i=0; i<thumbnails.length;i++)
            {
                imgLarg = document.createElement("img");
                imgLarg.setAttribute("src", thumbnails[i].childNodes[0].firstChild.data);
                imgLarg.className = "vidimg";
                imgLarg.id = "vidimg"+i;
                imgLarg.style.display = "none";
                imgLarg.cOpacity = 1;
                //imgLarg.setAttribute("alt", v.title);       
                //imgLarge.style.opacity = '0';
                obj.insertBefore(imgLarg, obj.childNodes[0]);
            
            }
            
            cIndex = obj.childNodes.length-2;
            setTimeout(function(){fadeThumbs();}, 1000);
        }
    }
    
    function fadeThumbs()
    {   
        var nIndex = cIndex - 1;
        if (nIndex < 0)
        {
            nIndex = obj.childNodes.length-2;
        }
            
        if (!inc)
            return;
             
        var cThumb = obj.childNodes[cIndex];
        var nThumb = obj.childNodes[nIndex];
        
        
        var cOpacity = cThumb.cOpacity;
        
        if (cOpacity > 0.99)
        {
            // Just started on this thumb,
            // set next thumb to be visible
		    nThumb.style.opacity = "1";
		    nThumb.style.MozOpacity = "1";
		    nThumb.style.filter = "alpha(opacity=100)";  
            nThumb.style.display = "block";  
		    nThumb.cOpacity = 1;        
        }
        
        if (cOpacity > 0.05)
        {
            cOpacity -= 0.05;
            cThumb.style.opacity = cOpacity;
            cThumb.style.MozOpacity = cOpacity;
            cThumb.style.filter = "alpha(opacity="+cOpacity*100+")";
            cThumb.cOpacity = cOpacity;
        
            setTimeout(function (){fadeThumbs();}, 40);   
        }
        else
        {
            // Finished on this thumb
            // hold it on this before jumping to next
            cThumb.style.display = "none";
            cIndex = nIndex
            setTimeout(function(){fadeThumbs();}, 700);
        }    
    }
}