// Special Thanks to Luiz Felipe Martins, who helped solve the Gecko compatibility issue!

	// VAR XML DATABASE
	
	var gTitle;
	var gTheme;
	var gHome;
	var gCover;
	
	var titles = new Array();
	var thumbnails = new Array();
	var fullsizes = new Array();
	var descriptions = new Array();
	
	var title;
	var description;
	var thumbnail;
	var fullsize;
	
	var currItem = 0;
	var maximo;
	
	
	// VAR LENS FX
        
    var alpha = 0;
    var imageAlpha = 0;
        
    var i = 0;
    var currentElement;
    var currentImage;
    
    var fadeID;
	
	
	var http_request = false;
	function makeRequest(url)
	{		 
		http_request = false;
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType)
			{
				http_request.overrideMimeType("text/xml");
			}
		}
		else if (window.ActiveXObject)
		{ // IE
			try
			{
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
				}
			}
		}

		if (!http_request)
		{
			alert("There was a problem loading the Lens Database.");
			return false;
		}
		http_request.onreadystatechange = deployContents;
		http_request.open("GET", url, true);
		http_request.send(null);
	}


	function deployContents()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200) {
				var xmldoc = http_request.responseXML;
				var adicao = "<ul>";
				
				var album = xmldoc.getElementsByTagName('album')[0];
				var galeria = album.getElementsByTagName('gallery')[0];
				maximo = galeria.getElementsByTagName('picture').length;
				
				gTitle = galeria.attributes[0].value;
				gTheme = galeria.attributes[1].value;
				gHome = galeria.attributes[2].value;
				gCover = galeria.attributes[3].value;
				
				currItem = gTitle;
				
				var i = 0;
				
			 for (i=0; i<maximo; i++)
			 {
				var imagem = galeria.getElementsByTagName('picture')[i];
				
				title = imagem.getElementsByTagName('title')[0].firstChild.nodeValue;
				fullsize = imagem.getElementsByTagName('path')[0].firstChild.nodeValue;
				
				titles[i] = title;
				fullsizes[i] = fullsize;
				
				if (i<9)
				{
					adicao += '<li id="'+i+'" onMouseDown="loadpicture('+i+'); return false" title="'+title+'">0'+(i+1)+'</li>';
				}
				else
				{
					adicao += '<li id="'+i+'" onMouseDown="loadpicture('+i+') ; return false" title="'+title+'">'+(i+1)+'</li>';
				}				 
			}
			
			adicao += '</ul><br />';
			document.getElementById("arquivo").innerHTML = adicao;
			document.getElementById("gTitle").innerHTML = gTitle;
			document.getElementById("gInfo").innerHTML = "<a href='"+gHome+"'>Back to Home</a>";
            loadpicture(0);
			
			}
			else
			{
				alert("There was a problem loading the Lens Database.");
			}
		}
	}
	
	
	// LOAD PICTURE [FN]
	function loadpicture(imgID)
	{
	    imageAlpha = 0;
        currItem = imgID;
        
        if (currItem == 0)
        {
            document.getElementById("previous").style.color = "#BBB";
	        document.getElementById("next").style.color = "#000";
        }
        
        if (currItem >= 1)
        {
            document.getElementById("previous").style.color = "#000";
	        document.getElementById("next").style.color = "#000";
        }
        
        if (currItem >= (maximo-1))
        {
            document.getElementById("previous").style.color = "#000";
	        document.getElementById("next").style.color = "#BBB";
	    }
		
		var quadro = document.getElementById("imageBoard");
		
		// Selected Menu Item
		var atual = document.getElementById(imgID);
		atual.style.color = "#555";
		
		document.getElementById("loadStatus").style.visibility = "visible";
        document.getElementById("loadStatus").style.display = "block";
        
		quadro.style.opacity = 0;
		
		quadro.parentNode.style.visibility = "hidden";
        quadro.parentNode.style.display = "none";
        
        document.getElementById("subtitle").style.visibility = "hidden";
        document.getElementById("subtitle").style.display = "none";
        
        document.getElementById("subtitle").innerHTML = '<h2>'+titles[currItem]+'</h2>';
		
		quadro.src = fullsizes[imgID];
	}


    // IMAGE HAS LOADED [FN]
    function imageLoaded(limgID) {
        currentImage = document.getElementById(limgID);
        document.getElementById("loadStatus").style.visibility = "hidden";
        document.getElementById("loadStatus").style.display = "none";
        
        fadeID = window.setInterval("fade()", 50);
    }	
    

   // LENS EFFECTS 001

   // FADE [FN]
   function fade() {
            currentImage.style.display = "block";
            currentImage.style.visibility = "visible";
            currentImage.parentNode.style.display = "block";
            currentImage.parentNode.style.visibility = "visible";
            document.getElementById("subtitle").style.visibility = "visible";
            document.getElementById("subtitle").style.display = "block";
            
            if (imageAlpha < 10) {          
                imageAlpha += 1;
                currentImage.style.opacity = imageAlpha/10;
                currentImage.style.filter = "alpha(opacity:"+(imageAlpha/10)+")";
                currentImage.style.KHTMLOpacity = imageAlpha/10;
                currentImage.style.MozOpacity = imageAlpha/10;
            }
            else
            {
                window.clearInterval(fadeID);
                currentImage.style.opacity = 1;
                currentImage.style.filter = "alpha(opacity:1)";
                currentImage.style.KHTMLOpacity = 1;
                currentImage.style.MozOpacity = 1;
                
                if (currItem >= 0) {
                document.getElementById("subtitle").innerHTML = '<h2>'+titles[currItem]+'</h2>';
                }
            }
        }
