﻿// JScript File
var http = getXMLHTTPRequest();
var preImages = new Array();
var images = new Array();
var imgArrowDirection
var defaultImage = new Image();

function pageLoad() {  

    // preload image
    defaultImage.src = "images/screenshots/alpHome.jpg";
  
    document.getElementById('imagewrapper').innerHTML = "<img id='PortfolioControl1_imgScreenShot' src='images/screenshots/alpHome.jpg' class='reflect ropacity20 rheight25' />";
    addReflections();
    document.getElementById('imagewrapper').style.visibility = "visible" ;
}

function pause(numberMillis) { 
    var now = new Date(); 
    var exitTime = now.getTime() + numberMillis;  
    while (true) {   
        now = new Date();   
        if (now.getTime() > exitTime)    
            return;   
    }  
}

function preLoadImages() { 
    
	for (i = 0; i < images.length; i++) { 
		preImages[i] = new Image()
		preImages[i].src = "images/screenshots/"+images[i]
	}
}

function getXMLHTTPRequest() {
    var request = false;
    
    try { request = new XMLHttpRequest(); /* Firefox */ }
    catch(err1) { 
        try { vrequest = new ActiveXObject("Msxml2.XMLHTTP"); /* Some versions of IE */ }
        catch(err2) {
            try { request = new ActiveXObject("Microsoft.XMLHTTP"); /* Some versions of IE */ }
            catch(err3) { request = false; }
        }
    }
    return request;
}

function getNextImage(direction) {

    var currentImage = document.getElementById('PortfolioControl1_imgScreenShot').src;
        
    var xstart = currentImage.lastIndexOf("/") + 1;
	var xend = currentImage.length;
	var currentImageName = currentImage.substring(xstart,xend);

    for (var i = 0; i < images.length; i++) {
                    
        if (direction == "right") {
        
            document.getElementById('spanLeftArrow').innerHTML = "<img id='PortfolioControl1_imgLeftArrow' onClick='getNextImage(\"left\")' src='images/navigation/leftArrow.gif' height='12px' width='8px' on />";
                        
            // Navigating to the last image in the array
            if (i == (images.length - 2)) {
                document.getElementById('imagewrapper').innerHTML = "<img id='PortfolioControl1_imgScreenShot' src='images/screenshots/" + images[i+1] + "' class='reflect ropacity20 rheight25' />";
                document.getElementById('spanRightArrow').innerHTML = "";
                break;    
            } // Navigating to any other image in the array
            else if (currentImageName == images[i]) {
                document.getElementById('imagewrapper').innerHTML = "<img id='PortfolioControl1_imgScreenShot' src='images/screenshots/" + images[i+1] + "' class='reflect ropacity20 rheight25' />";
                break;
            }
        }
        else if (direction == "left") {
                   
            document.getElementById('spanRightArrow').innerHTML = "<img id='PortfolioControl1_imgRightArrow' onClick='getNextImage(\"right\")' src='images/navigation/rightArrow.gif' height='12px' width='8px' on />";
        
            // Navigating to the first image in the array
            if (currentImageName == images[1]) {
                document.getElementById('imagewrapper').innerHTML = "<img id='PortfolioControl1_imgScreenShot' src='images/screenshots/" + images[0] + "' class='reflect ropacity20 rheight25' />";
                document.getElementById('spanLeftArrow').innerHTML = "";
                break;    
            } // Navigating to any other image in the array
            else if (currentImageName == images[i]) {
                document.getElementById('imagewrapper').innerHTML = "<img id='PortfolioControl1_imgScreenShot' src='images/screenshots/" + images[i-1] + "' class='reflect ropacity20 rheight25' />";
                break;
            }
        }
    }
    addReflections();
    document.getElementById('imagewrapper').style.visibility = "visible" ;
}

function getAlbum(albumID) {

    var myurl = 'telltimeXML.aspx?albumID='+albumID;
    var myRand = parseInt(Math.random()*999999999999999);
    
    // add randon number to URL to avoid cache problems
    var modurl = myurl+"&rand="+myRand;
    http.open("GET", modurl, true);
    
    // set up the callback function
    http.onreadystatechange = useHttpResponse;
    http.send(null);
}

function useHttpResponse() {

    if (http.readyState == 4) {
        if (http.status == 200) {
                            
            // CLIENT/ALBUM DESCRIPTION
            var description = http.responseXML.getElementsByTagName("description")[0];
            document.getElementById('albumdescription').innerHTML = "<strong>Client Description</strong><br />" + description.childNodes[0].nodeValue;
            
            // CLIENT/ALBUM NAME
            var albumName = http.responseXML.getElementsByTagName("albumName")[0];
            document.getElementById('PortfolioControl1_lblAlbumName').innerHTML = albumName.childNodes[0].nodeValue;
            
            // WEBSITE URL
            var websiteURL = http.responseXML.getElementsByTagName("websiteURL")[0];
            document.getElementById('PortfolioControl1_lblWebsiteURL').innerHTML = "<a href='http://" + websiteURL.childNodes[0].nodeValue + "' target='_blank'>" + websiteURL.childNodes[0].nodeValue + "</a>";

            // CLIENT/PROJECT CATEGORIES
            
            // Clear out previous categories
            document.getElementById('PortfolioControl1_imgProgramming').src = "images/portfolioButtons_Off.jpg";
            document.getElementById('PortfolioControl1_imgOptimization').src = "images/portfolioButtons_Off.jpg";
            document.getElementById('PortfolioControl1_imgDesign').src = "images/portfolioButtons_Off.jpg";
            
            var oCategories = http.responseXML.getElementsByTagName("Category");
            
            for (var i = 0; i < oCategories.length; i++) {
            
                var oCategory = oCategories.item(i);
                var categoryName;
                var categoryNameValue;
                
                categoryName = oCategory.getElementsByTagName("categoryName")[0];
                categoryNameValue = categoryName.childNodes[0].nodeValue;
                              
                if (categoryNameValue == 'Programming') {
                    document.getElementById('PortfolioControl1_imgProgramming').src = "images/portfolioButtons_on.jpg";
                }
                if (categoryNameValue == 'Optimization') {
                    document.getElementById('PortfolioControl1_imgOptimization').src = "images/portfolioButtons_on.jpg";
                }
                if (categoryNameValue == 'Design') {
                    document.getElementById('PortfolioControl1_imgDesign').src = "images/portfolioButtons_on.jpg";
                }
            }  
            
            // CLIENT/PROJECT SCREENSHOTS
            
            // Clear out previous screenshot (center image)
            // Default Image (coming soon!)
            document.getElementById('PortfolioControl1_imgScreenShot').src = "";
            
            var oImages = http.responseXML.getElementsByTagName("Image");
                        
            if (oImages.length > 1) {
                document.getElementById('spanLeftArrow').innerHTML = "";
                document.getElementById('spanRightArrow').innerHTML = "<img id='PortfolioControl1_imgRightArrow' onClick='getNextImage(\"right\")' src='images/navigation/rightArrow.gif' height='12px' width='8px' on />";
            }
            else {
                document.getElementById('spanRightArrow').innerHTML = "";
                document.getElementById('spanLeftArrow').innerHTML = "";
            }
            
            var oImage = oImages.item(0);
            var imageUrl;
            var imageUrlValue;
                        
            // clear global screenshot image array
            images = null;
            images = new Array();
            
            // fill global array for navigating screenshots
            for (var i = 0; i < oImages.length; i++) {
            
                oImage = oImages.item(i);
                imageUrl = oImage.getElementsByTagName("imageURL")[0];
                imageUrlValue = imageUrl.childNodes[0].nodeValue;        
                images[i] = imageUrlValue;
                
                preImages[i] = new Image()
		        preImages[i].src = "images/screenshots/"+imageUrlValue
            }
            
           // preLoadImages();
                        
            document.getElementById('imagewrapper').innerHTML = "";          
            document.getElementById('imagewrapper').innerHTML = "<img id='PortfolioControl1_imgScreenShot' src='images/screenshots/" + images[0] + "' class='reflect ropacity20 rheight25' />";
            
            addReflections();
            document.getElementById('imagewrapper').style.visibility = "visible" ;
        }
        else {
            alert("An error has occured: " + http.statusText);
        }
    }
}