var continueShow = true;
var currentFrame = 1;
var currentPostcardFrame = 1;
var imageCount = 0;

function playPause_slideshow(play_text, pause_text){ 
lLink = document.getElementById("playPause");
if (continueShow) {
continueShow = false; 
lLink.innerHTML = play_text;
}
else {
continueShow = true;
Effect.Fade("slideshow" + currentFrame);
changeClass(currentFrame, 'slidecount', true);
Effect.Appear("slideshow1");
Effect.Appear("caption1");
changeClass("1", 'firstcount', false);
currentFrame = 1;
start_slideshow(1, imageCount, 2000);
lLink.innerHTML = pause_text;
}
}

function show_slide(new_slide, play_text){
if (new_slide == currentFrame) { return; }
continueShow = false;
document.getElementById("playPause").innerHTML = play_text;
changeClass(currentFrame, 'slidecount', true);
Effect.Fade('slideshow' + currentFrame);
Effect.Appear('slideshow' + new_slide);
currentFrame = new_slide;
changeClass(currentFrame, 'firstcount', false);
}

function start_slideshow(start_frame, end_frame, delay) {
imageCount = end_frame;
if (imageCount == 1) {return;}
setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
}

function switch_slide(pDirection, pMax) {
if (lRunning) { setTimeout("switch_slide('" + pDirection + "', '" + pMax + "');", 100); }
else { var lRunning = true; }

if ((pDirection == 'next' && pMax == currentPostcardFrame) ||
(pDirection == 'prev' && 1 == currentPostcardFrame)) { return; }
lImgElement = $('imageElement' + (currentPostcardFrame + 2));
if (lImgElement && lImgElement.src == '')
{ lImgElement.src = $('imageUrl' + (currentPostcardFrame + 2)).innerHTML; }

Effect.Fade('postcard' + currentPostcardFrame);
Effect.Fade('postcardCaption' + currentPostcardFrame);

if (pDirection == 'next')
{ currentPostcardFrame = currentPostcardFrame + 1;
showHide('prevDiv', 1);
if (currentPostcardFrame == pMax) {showHide('nextDiv', 0);}
}
else
{ currentPostcardFrame = currentPostcardFrame - 1;
showHide('nextDiv', 1);
if (currentPostcardFrame == 1) {showHide('prevDiv', 0);}
}

$('imageCount').innerHTML ="Photo " + currentPostcardFrame + " of " + pMax;
Effect.Appear('postcard' + currentPostcardFrame);
Effect.Appear('postcardCaption' + currentPostcardFrame);

lRunning = false;
}

function switch_slides(frame, start_frame, end_frame, delay) {
return (function() {
if (continueShow && document.getElementById("viewImage" + frame)) {
Effect.Fade('slideshow' + frame);
if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
setTimeout("changeClass('" + currentFrame + "', 'slidecount', true);", 300);
currentFrame = frame;
setTimeout("changeClass('" + currentFrame + "', 'firstcount', false);", 300);

setTimeout("Effect.Appear('slideshow" + frame + "');", 450);
setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 2500);
}
})
}

function changeClass(pId, pClassName, pFade) {
var lViewImage = document.getElementById("viewImage" + pId);
if (!lViewImage) { return; }
lViewImage.className = pClassName;
if (pFade)
{
Effect.Fade("caption" + pId);
}
else
{
Effect.Appear("caption" + pId);
}
}

function showHide(pID, pState) 
{
var lState = pState ? "visible" : "hidden";
document.getElementById(pID).style.visibility = lState;
}
