﻿var webFilesArr, webDescArr, webUrlsArr;
var printFilesArr, printDescArr;
var miscFilesArr, miscDescArr;
var currFilesArr, currDescArr;
var objWeb;
var currFileTypeID = -1;
var statusDiv = null, descDiv = null;
//var showcasePath;

$(window).load(function() {   
    PreloadPreloadImages();     
    BuildFileArrays();
    GetElemReferences();
    
    ChangeFiles(0);
});

function ChangeFiles(fileType)
{
    if (!ImagesAreChanging() && (fileType != currFileTypeID))
    {
        currFileTypeID = fileType;
        var vTypeImageFile;
        HideContact();
        
        switch (fileType)
        {
            case 0:
            {
                PreloadImages(0);
                currDescArr = webDescArr;
                vTypeImageFile = 'vertical_web';
                break;
            }   //case
            case 1:
            {
                PreloadImages(1);
                currDescArr = printDescArr;
                vTypeImageFile = 'vertical_print';
                break;
            }   //case
            case 2:
            {
                PreloadImages(2);
                currDescArr = miscDescArr;
                vTypeImageFile = 'vertical_misc';
                break;
            }   //case
            case 3:
            {
                ShowContact();
                return;
                break;
            }   //case
        }   //switch
        
        firstPrevImageIndex = 0;
        AnimateDisplayChange(0, false);
        ChangePrevImage(0);
        ChangeVeriticalImage(vTypeImageFile);
    }   //if
}

function ChangeVeriticalImage(imageFilename)
{
    var verticalFilename = 'images/' + imageFilename + '.png';
    var img = new Image();
    img.src = verticalFilename;
    $('#vType').css('background-image', 'url(' + verticalFilename + ')');
    $('#vType').css('height', img.height);
    $('#vType').css('width', img.width);
}

function BuildFileArrays()
{
    webFilesArr = webFiles.split('|');
    webDescArr = webDesc.split('|');
    webUrlsArr = webURLs.split('|');
    
    printFilesArr = printFiles.split('|');
    printDescArr = printDesc.split('|');
    
    miscFilesArr = miscFiles.split('|');
    miscDescArr = miscDesc.split('|');
}

function GetElemReferences()
{
    statusDiv = document.getElementById('preload');
    descDiv = document.getElementById('info');
}

function UpdateStatusDisplay(imageIndex,total)
{
    if(imageIndex!=total)
    {
        statusDiv.style.display = 'block';
        var statusBarMaxWidth = 193;
        var percentDone = Math.ceil((imageIndex / total)*100);
        var statusBarWidth = Math.ceil(((percentDone*statusBarMaxWidth)/100));
        document.getElementById('preloadBarPink').style.width = statusBarWidth + 'px';
        document.getElementById('preloadBarWhite').style.width = (statusBarMaxWidth-statusBarWidth) + 'px';
        document.getElementById('preloadText').innerHTML = imageIndex + ' of ' + total;
    }   //if
    else
    {
        statusDiv.style.display = 'none';
        RemoveGrayOut();
    }   //else
}

var grayDiv = null;
function GrayOut()
{
    if(!grayDiv)
    {
        grayDiv = document.createElement("DIV");
        grayDiv.style.width = getDocWidth() + 'px';
        grayDiv.style.height = getDocHeight() + 'px';
        grayDiv.style.position = 'absolute';
        grayDiv.style.zIndex = 20;
        grayDiv.className = 'transparent';
        document.body.appendChild(grayDiv);
    }
}

function ResizeGrayOut()
{
    if (grayDiv)
    {
        grayDiv.style.width = getDocWidth() + 'px';
        grayDiv.style.height = getDocHeight() + 'px';
    }   //if
}

function RemoveGrayOut()
{
    if (grayDiv)
    {
        document.body.removeChild(grayDiv);
        grayDiv = null;
        document.body.style.display = 'none';
        document.body.style.display = 'block';
    }
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

function getDocWidth() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollWidth, D.documentElement.scrollWidth),
        Math.max(D.body.offsetWidth, D.documentElement.offsetWidth),
        Math.max(D.body.clientWidth, D.documentElement.clientWidth)
    );
}