var selectedImage = [];
var selectedImageDescription = [];
var cursor = 0;
var tmpimg_array = [];
var image_array = [];
var slideShowPlay=false;
var isPagingDisabled = false;
var imgGuidHidden;

function setActiveGuid(imgHiddenControlId)
{
    imgGuidHidden = imgHiddenControlId;
}

function buildImageArray(imgarray, namearray, descarray, imgqsarray, url)
{
    tmpimg_array = imgarray.split("|");
    selectedImage = namearray.split("|");
    selectedImageDescription = descarray.split("|");
    tmpimgqs_array = imgqsarray.split("|");
    image_array = new Array();
    var i=0;
    while (tmpimg_array[i])
    {
        image_array[i] = new Image();
        image_array[i].src = "http://" + url + "/Image_" + tmpimg_array[i] + "_@758x335.arox" + tmpimgqs_array[i];
        image_array[i].onError = function () { image_array[i].src = "http://" + url + "/Image_" + tmpimg_array[0] + "_@758x335.arox" + tmpimgqs_array[0] };
        i++;
    }
    hideTools();
    if (image_array.length > 0)
    {
        if (document.getElementById('selectedImg'))
        {
            document.getElementById('selectedImg').src = image_array[0].src;
        }
        else
        {
            setTimeout("selectFirstImage();", 500);
        }
    }
    setFinishedHandler();
}

function setFinishedHandler()
{
    if(ixw)
    {
        ixw.onfinished(crosswipe_finished);
    }
    else
    {
        setTimeout("setFinishedHandler()", 500);
    }
}

function hideTools()
{
    var tools = document.getElementById('ImageGalleryPageTools');
    var ptools = document.getElementById('PageLevelTools');
    if (tools && ptools)
    {
        tools.style.display = 'none';
        ptools.style.display = '';
    }
    else
    {
        var func = function () { hideTools(); };
        setTimeout(func, 500);
    }
}

function crosswipe_finished()
{
    checkNextPrevious();
    if(slideShowPlay)
    {
        cursor++;
        if (image_array[cursor])
        {
            setTimeout("ChangeDisplayImage('rl',cursor, true)",5000);
        }
        else
        {
            cursor--;
            toggleSlideShow(false);
        }
    }
}

function toggleSlideShow(calledFromPage)
{
    slideShowPlay=!slideShowPlay;
    checkNextPrevious();
    if (slideShowPlay)
    {
        document.getElementById('slideshowplay').innerHTML = "Stop Slideshow";
    }
    else
    {
        document.getElementById('slideshowplay').innerHTML = "Play Slideshow";
    }
    if(calledFromPage && !image_array[cursor + 1])
    {
        cursor = 0;
    }
    if(slideShowPlay)
    {
        ChangeDisplayImage('rl',cursor,true);
    }
}

function MouseIn(name,description)
{
    document.getElementById('imgName').innerHTML = name;
    document.getElementById('imgDesc').innerHTML = description;
}

function MouseOut()
{
    if (document.getElementById('collapse').className == 'collapse')
    {
        document.getElementById('imgName').innerHTML = 'Please select an image above';
        document.getElementById('imgDesc').innerHTML = '';    
    }
}

function disablePaging()
{
    isPagingDisabled = true;
    setTimeout("isPagingDisabled = false",1500);
}

function ChangeDisplayImage(effect, i, slideshow)
{
    if (!isPagingDisabled && slideshow == slideShowPlay)
    {
        cursor=i;
        if (document.getElementById('imgGallery').className =='imageGallery')
        {
            swapDisplays();    
        }
        else
        {
            checkNextPrevious();
        }
        
        document.getElementById('ssprev').enabled = false;
        document.getElementById('ssnext').enabled = false;
        crosswipe(document.getElementById('selectedImg'), image_array[i].src, '1', effect);
        
        document.getElementById('selectedGuid').value = tmpimg_array[cursor];
        
        document.getElementById('imgName').innerHTML = selectedImage[cursor];
        document.getElementById('imgDesc').innerHTML = selectedImageDescription[cursor];
        
        disablePaging();
    }
}

function checkNextPrevious()
{
    if (slideShowPlay || !image_array[cursor-1])
    {
        document.getElementById('ssprev').className = 'ssprevhide';
    }
    else
    {
        document.getElementById('ssprev').className = 'ssprev';
    }

    if (slideShowPlay || !image_array[cursor+1])
    {
        document.getElementById('ssnext').className = 'ssnexthide';
    }
    else
    {
        document.getElementById('ssnext').className = 'ssnext';
    } 
}

function previousImage()
{
    if (!isPagingDisabled)
    {
        cursor--;
        ChangeDisplayImage('lr',cursor,false);
    }
}

function nextImage()
{
    if (!isPagingDisabled)
    {
        cursor++;
        ChangeDisplayImage('rl',cursor,false);
    }    
}

function selectImage(imageGuid)
{
    for (i=0;i<12;i++)
    {
        if (tmpimg_array[i] == imageGuid)
        {
            cursor = i;
            ChangeDisplayImage('tb',cursor,false);
        }
    }
}

function reselectImage(imageGuid)
{
    for (i=0;i<12;i++)
    {
        if (tmpimg_array[i] == imageGuid)
        {
            cursor = i;
            document.getElementById('selectedImg').src = image_array[i].src;
        }
    }
}

function selectFirstImage()
{
    if (image_array.length > 0)
    {
        if (document.getElementById('selectedImg'))
        {
            document.getElementById('selectedImg').src = image_array[0].src;
        }
        else
        {
            setTimeout("selectFirstImage();", 500);
        }
    }
}

function swapDisplays()
{
    var tools = document.getElementById('ImageGalleryPageTools');
    var ptools = document.getElementById('PageLevelTools');
    if (!isPagingDisabled)
    {
        if (document.getElementById('imgGallery').className =='imageGallery')
        {
            document.getElementById('imgGallery').className = 'imageGalleryHidden';
            document.getElementById('imgDetail').className  = 'imageGalleryMainImg';
            document.getElementById('collapse').innerHTML = 'View All';
            document.getElementById('collapse').className = 'expand';
            document.getElementById('imgName').innerHTML = selectedImage[cursor];
            document.getElementById('imgDesc').innerHTML = selectedImageDescription[cursor];
            checkNextPrevious();
            if (tools)
            {
                tools.style.display = '';
                ptools.style.display = 'none';
            }
            
        }
        else
        {
            if (tools)
            {
                tools.style.display = 'none';
                ptools.style.display = '';
            }
            slideShowPlay=true;
            toggleSlideShow(false);
            document.getElementById('imgGallery').className  = 'imageGallery';
            document.getElementById('imgDetail').className  = 'imageGalleryHidden';    
            document.getElementById('collapse').innerHTML = 'Collapse';
            document.getElementById('collapse').className = 'collapse';
            document.getElementById('ssnext').className = 'ssnexthide';
            document.getElementById('ssprev').className = 'ssprevhide';
            MouseOut();
        }
    }
    
}
