var macOffset = 0;
var selectedThumbBorder = "2px solid #000000";
var thumbs //Scrolling div containing thumbs
var slider //slider underneath thumbs div
var keepScrolling //To allow for holding down scroll buttons
var hideTimer
var scrollSpeed="8"
var sliding = false;
var doFade = true;
var fadeIncrease = 20;
var fadeSpeed = 100;
var sss = new Image();
var rtArrow = new Image();
var superSlider = new Image();

var prevX = 0;
var loadCount=0;
var imageHost = "";

function ImageRecord(isrc, ithumb, caption, bought, inId, ioffset_x, ioffset_y)
{
    this.src = isrc;
    this.thumb = ithumb;
    this.caption = caption;
    this.bought = bought;
    this.id = inId;
    this.offset_x = ioffset_x;
    this.offset_y = ioffset_y;
}

function BuildImageRecord(img_max_w, img_space_w, photo_width, 
                            img_max_h, img_space_h, photo_height, imgthumb, 
                            name, id)
{
    //check for roatation which may swap the
    rotation = imgthumb.substr(imgthumb.indexOf("rotate=") + 7);
    if ((rotation == '90') || (rotation == '270'))
    {
         hold = photo_height;
         photo_height = photo_width;
         photo_width = hold;
    }
    imgbig = imgthumb.replace("w=64","w="+img_max_w).replace("h=48","h="+img_max_h);

    RATIO = getPhotoRatio(photo_width, photo_height, img_max_w, img_max_h);
    offsetx = (img_space_w - (RATIO * photo_width)) / 2;
    offsety = (img_space_h - (RATIO * photo_height)) / 2;

    return new ImageRecord(imgbig, imgthumb,
             name, false, id, offsetx, offsety);
}

function gotoBig()
{
    window.location.href = window.location.href.replace("album", "album/large");
}

function scrollThumbs(res)
{
    //re-enable if slider is added
    //updateSlider(thumbs,dd.elements.sss);

    thumbs.scrollLeft = parseInt(thumbs.scrollLeft)+parseInt(res);

    if(keepScrolling)
    {
        window.setTimeout("scrollThumbs("+res+")", 10);
    }
}

function updateSlider(tDiv, sDiv)
{
    if(parseInt(tDiv.scrollWidth)-parseInt(tDiv.style.width)!=0)
    {
        var tempX = (parseInt(slider.style.width)-parseInt(sDiv.w))*(tDiv.scrollLeft/((parseInt(tDiv.scrollWidth)-parseInt(tDiv.style.width))));
        var tempY = parseInt(sDiv.defy) + macOffset;

        sDiv.moveTo(parseInt(sDiv.defx)+tempX,tempY);
    }
}

function slide(e, obj)
{
    if (!e) var e = window.event;
    if(sliding)
    {
        var posx = 0;
        var posy = 0;
        if (e.pageX || e.pageY)
        {
            posx = e.pageX;
            posy = e.pageY;
        }
        else if (e.clientX || e.clientY)
        {
            posx = e.clientX + document.body.scrollLeft;
            posy = e.clientY + document.body.scrollTop;
        }

        var tempInt = (parseInt(obj.style.left)+(posx-prevX));
        if(parseInt(thumbs.style.width)>parseInt(slider.style.width))
        {
            if(prevX!=0 && tempInt>=0 && tempInt<=(parseInt(thumbs.style.width)-parseInt(obj.style.width)))
            {
                obj.style.left = tempInt;
                thumbs.scrollLeft = ((tempInt/(parseInt(thumbs.style.width)-parseInt(slider.style.width))))*(parseInt(thumbs.scrollWidth)-parseInt(thumbs.style.width));
            }
            prevX=posx
        }
    }
}

function initPage(count)
{
    if (loadCount==null)
        loadCount=0;
    loadCount++;
    if (loadCount>=count)
    {
        document.getElementById("thephoto0").style.visibility="visible";
    }
}

function togglePlay(torf)
{
    btn = document.getElementById("playBtn");
    if(torf=="play")
    {
        btn.src = imageHost + "/pw/slideshow/btn_pause.gif";
    }
    else
    {
        btn.src = imageHost + "/pw/slideshow/btn_play.gif";
    }
}

function playPressed()
{
    btn = document.getElementById("playBtn");
    if(btn.src.indexOf("play")!=-1)
    {
        btn.src = imageHost + "/pw/slideshow/btn_pause.gif";
        play();
    }
    else
    {
        btn.src = imageHost + "/pw/slideshow/btn_play.gif";
        pause();
    }
}
function doInit(imghost)
{
    //not sure why I need to do this, but it works.
    imageHost = imghost.replace('&#47;', '/').replace('&#47;', '/');
    sss.src = imageHost + "/pw/slideshow/slider.gif";
    rtArrow.src = imageHost + "/pw/slideshow/slide-right.gif";
    superSlider.src = imageHost + "/pw/slideshow/slide-super.gif";
    
//    var sliderOffset = (parseInt(slider.style.width)-document.getElementsByName("sss")[ 0 ].width);
//    if(parseInt(thumbs.scrollWidth)-parseInt(thumbs.style.width)==0)
//    {
//        sliderOffset = 0;
//    }
//    dd.elements.sss.maxoffr = sliderOffset

    for(i=0;i<images.length;i++)
    {
        setOpacity(document.getElementById("img"+i), 100);
    }
}

function ddMenu()
{
    var dd = document.getElementById("ddoptions");
    dd.style.visibility = (dd.style.visibility == "hidden") ? "" : "hidden";
}

function getPhotoRatio(photo_w, photo_h, img_max_w, img_max_h)
{
    RATIO_X = img_max_w / photo_w;
    RATIO_Y = img_max_h / photo_h;
    USE_RATIO = RATIO_X;
    if (RATIO_Y < RATIO_X)
        USE_RATIO = RATIO_Y;

    return USE_RATIO;
}


