﻿var thumbnails = new Array();
var current, previous;

Spry.Data.Region.addObserver("divDetails", {onPostUpdate: onDetailsPostUpdate});

function FadeInEffect(e)
{
    if (!e.showFx) e.showFx = new Spry.Effect.Fade(e.id, {duration:500, from:0, to:100});
    e.showFx.start();
}

function GrowEffect(e)
{
    if (e)
    {       
        e.isMouseOver = true;
        if (e.growFx) e.growFx.start();
    }
}

function LoadThumbnail(e, idx)
{
    if (e && idx != '{ds_RowNumber}') 
    {
        e.growFx = new Spry.Effect.Grow(e.id, {duration:250, from:50, to:100, toggle:true, transition:Spry.linearTransition, growCenter:false});
        e.fadeFx = new Spry.Effect.Fade(e.id, {duration:250, from:50, to:100, toggle:true});
        
        e.idx = idx;
        e.origWidth = e.width;
        thumbnails[idx] = e;
        
        if (dsPhotos.curRowID == idx) SelectPhoto(e, true);
    }
}

function onDetailsPostUpdate(notifier, data)
{
    var description, ds, divDescription;
    
    divDescription = document.getElementById('divDescription');
    
    ds = data.region.dataSets[0];
      
    description = '';
      
    if (ds.data[ds.curRowID].Description)    
    {        
        description = ds.data[ds.curRowID].Description;
        description = Replace(description, '&lt;', '<');
        description = Replace(description, '&gt;', '>');
    }
       
    divDescription.innerHTML = description;
}


function Replace(text, search, replace)
{
    while (text.indexOf(search) > -1)
    {
        text = text.replace(search, replace);
    }
    
    return text;
}

function ResetEffects()
{
    var idx;
    
    for (idx=0; idx<thumbnails.length; idx++)
    {
        if (!thumbnails[idx].growFx.isRunning && thumbnails[idx].origWidth != thumbnails[idx].width && !thumbnails[idx].isMouseOver)
        {
            GrowEffect(thumbnails[idx]);
        }
    }
    
    setTimeout('ResetEffects()', 100);
}

function ScrollUp(start)
{    
    var divPhotos = document.getElementById('divPhotos');
    var tdScrollUp = document.getElementById('tdScrollUp');
    
    if (start || tdScrollUp.isMouseOver)
    {
        tdScrollUp.isMouseOver = true;
        divPhotos.scrollTop -= 5;
        setTimeout('ScrollUp()', 10);
    }
    else
    {
    
    }
}

function ScrollDown(start)
{
    var divPhotos = document.getElementById('divPhotos');
    var tdScrollDown = document.getElementById('tdScrollDown');        
    
    if (start || tdScrollDown.isMouseOver)
    {       
        tdScrollDown.isMouseOver = true;
        divPhotos.scrollTop += 5;
        setTimeout('ScrollDown()', 10);        
    }
}

function SelectCategory(idx)
{
    var divPhotos;
    
    divPhotos = document.getElementById('divPhotos');
    divPhotos.scrollTop = 0;

    current = null;
    previous = null;
    dsCategories.setCurrentRowNumber(idx);        
}

function SelectPhoto(e, noFx)
{
    var divDetails;
    
    divDetails = document.getElementById('divDetails');

    if (e && divDetails)
    {   
        if (!divDetails.hideFx) divDetails.hideFx = new Spry.Effect.Fade(divDetails.id, {duration:500, from:100, to:0, finish:SetCurrentRowNumber});
                           
        if (!e.selected) 
        {
            if (current) previous = current;
            current = e;
        
            current.fadeFx.start();
            current.selected = true;
            
            if (previous)
            {            
                previous.fadeFx.start();
                previous.selected = false;
            }
            
            if (!noFx) divDetails.hideFx.start();                       
        }                        
    }
}

function SetCurrentRowNumber()
{
    dsPhotos.setCurrentRowNumber(current.idx);    
}

function ShowroomMouseOver(e)
{
    if (!e.origSrc) e.origSrc = e.src;  
    e.src = e.src.replace('.gif', '-on.gif');
}

function ShowroomMouseOut(e)
{
    e.src = e.origSrc;
}